使用SHA ID修改旧提交的评论消息

Bla*_*ack 5 git commit

假设我有3次提交:

Added bar.txt     (3)
Second Commit     (2)
Initial Commit    (1)
Run Code Online (Sandbox Code Playgroud)

如何(2)通过使用其SHA ID 更改提交消息?提交尚未推送到远程存储库。

我试过了: git commit --amend -m "Added foo.txt" 8457931

8457931 是SHA ID的前7个数字。

为什么不是重复的原因:与链接的问题不同,我问如何通过使用SHA ID指向我想要更改的提交来更改提交消息。

Vas*_*fed 5

做一个交互式的变基,在https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History中有描述

git rebase -i HEAD~2
Run Code Online (Sandbox Code Playgroud)

将所有标记为“选择”(仅保留该提交)或“ reword”以更改消息。注意,所有这些提交将被重写,所以最好不要去更深比origin/HEAD

编辑:您需要基于有问题的提交的父级(请注意~1后阴影)

git rebase --interactive <your_sha>~1
Run Code Online (Sandbox Code Playgroud)

现在打开一个文件:

pick b35b85c second commit
pick 9cc745b Initial commit
Run Code Online (Sandbox Code Playgroud)

搜索目标提交所在的行,然后更改pickreword

reword b35b85c second commit
pick 9cc745b Initial commit
Run Code Online (Sandbox Code Playgroud)

保存文件。现在将打开另一个文件,删除第一行并将其替换为新的提交消息。保存文件。做完了