重置后如何将HEAD重新置于其先前位置?

时间:2014-02-16 05:34:54

标签: git git-commit git-reset amend

我想修改两个提交前的提交消息,所以我做了:

$ git reset --soft HEAD~1
$ git commit --amend -m "Revised commit message"

现在我如何让HEAD回到git reset之前的位置?

1 个答案:

答案 0 :(得分:3)

您可以git add -a暂时完成reset然后git commit的所有更改,但我认为您认为这一切都是错误的。

如果您只想修复先前的提交消息,可以执行以下操作:

  • git rebase -i HEAD~2

这将重新定义分支的最后两次提交,因此不会更改任何代码。一旦你这样做,你将得到一个vim(或任何你的默认编辑器)屏幕看起来像这样:

pick 2a86f99 commit before that you want to fix
pick 09c407a commit that is at HEAD
  • 将您要修复的提交中的pick更改为reword

    reword 2a86f99在您要修复之前提交 选择在HEAD

  • 的09c407a提交
  • 保存并退出(vim中的:wq)。 git将重新定义这些更改并暂停在您要修复的提交消息的编辑器中。修复,保存和退出,你应该设置为。