想必大家都知道 git commit --amend
这条实用命令, 其可以用来修改最后一条提交的 commit message, 也可以追加新的修改.
但有时候不小心 amend 了错误的内容, 如何回退呢?
首先使用 git reflog
命令查看操作记录:
看到 amend 操作之前的最后一个操作就是 HEAD@{1}
.
现在可以用 git reset
将当前分支的 HEAD 指向 HEAD@{1}
, 即可达到撤销 amend 的目的:
# 保留修改的内容到暂存区
git reset --soft d0446efd9
# 丢弃 amend 的内容
git reset --hard d0446efd9
随即使用 git status
查看状态, 发现 amend 的内容已经被撤销 (到工作区) 了.