Undoing git reset


همین دیروز بود که دیدم یک قسمتی از برنامه ای که نوشتم کار نمیکنه. اول فکر کردم شاید اشکال از آپدیت پکیج های برنامه باشه، چون آخرین کاری که انجام دادم همین کار بود. تنها کاری که باید انجام میدادم این بود که پروژه رو به قبل از آپدیت برگردونم.خوب این هم کاری نداشت برای کسی که از Version Control استفاده میکنه. و چون من از Git استفاده میکردم دستور زیر رو تو شل وارد کردم:
git reset --hard HEAD
بله، با همین دستور بود که کل برنامه رو فرستادم رو هوا چون در آخر دستور از HEAD استفاده کردم و Git هم نامردی نکرد و کاملا منو به 3 هفته پیش که پروژه رو استارت زده بودم برگردوند!
خوب از اونجا که خود Git همه کار ها رو لاگ میکنه حتی همین ریست کردن رو، پس کافی بود تا با دستور git reflog کامیت ها و ریست های خودم رو ببینم.
قسمتی از نتیجه reflog برای پروژه من:
$  git reflog
1eb15db HEAD@{0}: commit:
733bfe2 HEAD@{1}: commit:
023ef5d HEAD@{2}: reset:
13bfb8c HEAD@{3}: commit:
ce6557e HEAD@{4}: commit:
023ef5d HEAD@{5}: reset:
f99c553 HEAD@{6}: reset:
023ef5d HEAD@{7}: commit:
f99c553 HEAD@{8}: commit:
968f297 HEAD@{9}: commit
خوب حالا راحت میشه با دستور زیر
$ git reset --hard 1eb15db
همه چی رو به آخرین کامیت برگردوند و من هم همین کار رو انجام دادم :)

جستجو