修复最后 git 提交的修复

Fixing a fixing of last git commit

我犯了一个错误,所以我需要 undo the last commit

通常的步骤是:

git reset --soft HEAD~
// make changes...
git commit -c ORIG_HEAD

然而我是不小心这样做的:

git reset --soft HEAD~
// make changes...
git commit -m "Some new message"     // <-- shouldn't have done this!!

是否等价?如果不是,有什么影响,我怎么能(我应该?)"undo the undo"?

您的方式与原始论坛post中描述的方式的区别在于您使用新的作者和信息创建了一个新的提交。但是,由于您是老提交者,所以如果您也不更改消息,那么这一切都不会改变。

如果你想删除ORIG_HEAD你可以用下面的命令来完成:

rm -f $GIT_DIR/ORIG_HEAD
# or
rm -f .git/ORIG_HEAD

将它放在那里不会对您造成任何伤害,但最好将其移除,因为它在那里没有任何好处。如果您要执行类似的操作,它只会被新的 ORIG_HEAD 覆盖。