撤銷 git commit——amend

想必大家在日常代碼管理中經常用到 git commit --amend 這條實用命令, 其可以用來修改最後一條提交的 commit message, 也可以追加新的修改。

但有時候不小心 amend 了錯誤的內容, 如何回退呢?

方法一:

git reset 撤銷到上一個提交, 再重新 git commit 一次。但如果工作區此時已經改的面目全非, 這時如果執行 git reset, 就很難分的清哪些內容屬於被撤銷的提交了。不過也不是無解,先git stash再git reset也可以解決。不過不太優雅。

方法二:

單次amend

如果只 amend 了一次, 那麼直接用 git reset HEAD@{1} 就可以撤銷這次 amend。

如果想撤銷到暫存區, 就用 git reset --soft HEAD@{1} .

如果想幹掉這個修改, 就用 git reset --hard HEAD@{1} .

多次amend

如果 amend 多次, 就參考 git reflog進行撤銷。

撤銷 git commit——amend


分享到:


相關文章: