我想修改两个提交前的提交消息,所以我做了:
$ git reset --soft HEAD~1
$ git commit --amend -m "Revised commit message"
现在我如何让HEAD回到git reset
之前的位置?
答案 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
保存并退出(vim中的:wq
)。 git将重新定义这些更改并暂停在您要修复的提交消息的编辑器中。修复,保存和退出,你应该设置为。