撤销 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


分享到:


相關文章: