使用SHA ID修改来自旧提交的注释消息

时间:2015-12-14 14:47:26

标签: git commit

假设我有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指向我想要更改的提交来更改提交消息,与链接问题不同。

1 个答案:

答案 0 :(得分:4)

执行交互式rebase,https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History

中对此进行了描述
git rebase -i HEAD~2

将所有标记为“选择”(仅保留该提交)或“改写”#39;改变消息。请注意,所有这些提交都将被重写,因此最好不要超过origin/HEAD

编辑:您需要对相关提交的父级进行折扣(请注意后的~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

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