我需要更改一条旧的提交消息。考虑到我后来还进行了一些其他提交,有没有一种方法可以在不干扰其他提交的情况下通过git或直接在GitHub上进行更改?
您不能使用git commit --amend
,因为它不是您最近的提交。
你可能想做一个类似的重新基准
git rebase -i HEAD~3
其中3表示您要返回的提交数量。
这是在做一个交互式的重新基准。在打开的屏幕或文本窗口中,将pick
替换为reword
。
在下一个屏幕或文本窗口中,您将能够更改提交消息。
重新设置基础会更改提交哈希,因此您需要执行git push --force-with-lease
,否则您的更改将被服务器拒绝。
在进行潜在的破坏性提交时,--force-with-lease
通常比--force
更安全。
查看Myffo发布的链接中的修改旧的或多个提交消息。
要更改旧提交的消息,可以使用
git rebase -i HEAD~4
(4是一个任意数字,而不是4。您必须使用要更改的提交的级别,大多数当前提交都被认为是1(
或
git rebase -i (SHA of the commit you want to edit)^
前任。git rebase-i 993ff4750f38b701383575a95b4efea54cc77658^
(别忘了在sha的末尾添加"^"符号(
这些命令将在默认文本编辑器中显示最新的提交。在文本编辑器中找到您想要更改的提交,并将"pick"替换为"reword"。保存并退出后。另一个窗口将弹出,供您更改消息。