我理想的工作流程包括以下步骤
我无法使用git commit -a --amend -m "new commit message"
,因为这也会提交新的更改。我不确定我是否想要分期或分支。我希望我可以编辑提交消息而不提交任何新的更改。有可能吗?
答案 0 :(得分:12)
这里没有必要藏匿或做任何其他事情。
git commit --amend -m 'Your new message.'
不会提交任何新的更改(请注意缺少-a
标志),前提是您尚未将它们显式添加到索引中(例如,使用git add
)。
答案 1 :(得分:4)
只需:
$ git stash
$ git commit --amend -m "Your Modified Message"
$ git stash apply
答案 2 :(得分:2)
您也可以使用:
git rebase -i HEAD^
这将打开您的文本编辑器,让您更改上次提交。您需要使用pick
替换行开头的单词reword
,保存文件并退出。之后,将打开一个新的文本编辑器,让您更改提交消息。
这听起来比建议的git commit --amend
方法更有效,但也适用于较旧的提交。因此,如果您发现要在过去十次提交中更改两条消息,则可以运行git rebase -i HEAD~10
并再次将单词pick
更改为reword
并更改这两条消息。
只是为了好奇:-i
代表交互式变基。