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

Amend comment message from older commits using SHA ID

假设我有 3 次提交:

Added bar.txt     (3)
Second Commit     (2)
Initial Commit    (1)

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

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

8457931 是 SHA ID 的前 7 个数字。

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

进行交互式变基,在https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History

中有描述
git rebase -i HEAD~2

将所有标记为 'pick'(仅保留该提交)或 'reword' 以更改消息。请注意,所有这些提交都将被重写,因此最好不要深入 origin/HEAD

编辑:您需要根据相关提交的父项进行变基(注意 sha 之后的 ~1

git rebase --interactive <your_sha>~1

现在打开一个文件:

pick b35b85c second commit
pick 9cc745b Initial commit

搜索目标提交所在的行并将 pick 更改为 reword:

reword b35b85c second commit
pick 9cc745b Initial commit

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