關於git reset --hard命令!!!,未提交代碼丟失找回

 1、不小心使用eclipse中的reset hard(git reset --hard) ,結果未提交的代碼丟失(被歷史版本強制覆蓋了),幸苦寫了幾天的代碼沒了,實在不想重寫,網上找了大神帖子,終於找到了殘留文件,將相關代碼複製出來了(幸好丟的不多)

2、現在代碼丟失,網上翻了下這兩位大神的博文有幫助到:

https://www.pianshen.com/article/151651996/

https://blog.csdn.net/qq_31608451/article/details/78342365?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

3、win10中搜索git bash或者myeclipse項目右鍵-show in local terminal 》 git bash打開內置git控制檯。

4、我從window中打開的git bash窗口,cd 項目路徑

5、執行 git fsck --lost-found命令查找未提交而被刪除的記錄後,可以在.git/lost-found/other這個文件路徑中找到被刪除的文件的一串數字(在項目路徑下,.git是隱藏文件)。

原理:如果你新加的文件有及時使用過git add命令但是沒有使用 git commit過,這時如果使用了git reset命令,雖然git會直接還原之前的版本,但是雞賊的git同時也會對這些特殊的文件進行追蹤記錄。

7、git show + 數字 可以查看具體代碼,通過查看每串數字的內容,確定哪一個是自己需要而且意外刪除掉的。

8、在執行git merge +數字 ,就可以恢復了(我執行提示是不可回覆的操作,不知道是否有用,我是把丟失相關的文件打開,一個個複製的)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章