git reset -soft :取消了commit
git reset -mixed(預設) :取消了commit ,取消了add
git reset -hard :取消了commit ,取消了add,取消原始檔修改
千萬不要輕易用--hard,會把你工作區的程式碼全部清除,如果git add 還能找回來,如果沒有git add 基本找不回來。 使用了git add 找回方法
1、使用
git fsck --lost-found
命令查詢未提交而被刪除的記錄
2、使用git show+數字(查詢的刪除記錄編號)
,確認需要恢復的內容
3、使用git merge+數字(查詢的刪除記錄編號)
,合併被刪除的記錄**
如果git commit 會比較好找回, git reset --hard HEAD~1,退回到上一個版本,用git log則是看不出來被刪除的commitid,用git reflog則可以看到被刪除的commitid,我們就可以買後悔藥,恢復到被刪除的那個版本。
git reflog
使用這一命令列可以看到你的版本號,然後 git reset --hard 版本號
HEAD
指向的版本就是當前版本,因此,Git允許我們在版本的歷史之間穿梭,使用命令git reset --hard commit_id
。- 穿梭前,用
git log
可以檢視提交歷史,以便確定要回退到哪個版本。 - 要重返未來,用
git reflog
檢視命令歷史,以便確定要回到未來的哪個版本。