參考文檔:Git使用教程 - 簡書
git reset HEAD~
git reset --mixed HEAD~
repository.jpg
reset.jpg
git reset --soft HEAD~
repository.jpg
reset_soft.jpg
git reset --hard HEAD~
repository.jpg
reset_hard.jpg
默認選項
git reset HEAD~ 等效于 git reset --mixed HEAD~ ,影響了兩棵樹:首先是移動 HEAD 的指向,將其指向上一個快照(HEAD~),然后再將該位置的快照回滾到暫存區(qū)域。
--soft選項
git reset --soft HEAD~ 命令就相當于只移動 HEAD 的指向,但并不會將快照回滾到暫存區(qū)域。相當于撤消了上一次的提交(commit)。一不小心提交了,后悔了,那么你就執(zhí)行 git reset --soft HEAD~ 命令即可(此時執(zhí)行 git log 命令,也不會再看到已經(jīng)撤消了的那個提交)。
--hard選項
reset 不僅移動 HEAD 的指向,將快照回滾動到暫存區(qū)域,它還將暫存區(qū)域的文件還原到工作目錄。