如何在Git中修改特定的提交消息?

时间:2016-06-01 23:40:06

标签: git atlassian-sourcetree

我正在尝试更改SourceTree中的提交消息,但无法找到该选项的位置。它尚未推出。

如何在SourceTree或命令行中修改旧提交的消息?

3 个答案:

答案 0 :(得分:3)

没有任何功能可以做到这一点,因为git内部如何工作,sha1密封每次提交。

但你可以:

  • 如果消息是最后一次提交,则执行“修改”。

  • 执行git rebase -i也称为rebase交互式,并为要重写提交消息的每个提交选择“reword”(或“r”)。

  • 使用git'notes'加入现有注释旁边的新注释(但处理它并不简单......)

答案 1 :(得分:1)

假设分支类似于A-B-C-D-E并且您想要修改C.这是我更喜欢的一种解决方案:

git reset C --hard
#do some changes and add
git commit --amend
git cherry-pick C..E
#or git cherry-pick D E

答案 2 :(得分:0)

  1. 使用git reflog查找提交,然后找到其sha-id
  2. 要转到该提交,请使用

    git reset --hard sha-id(如果您不想保留当前状态的更改)

    使用git reset --soft sha-id(如果您想保留更改)

  3. 现在做一个提交 - 发送到提交.......

  4. 现在,检查您正在修改的提交是否已被推送,

    如果,,则执行rebase并推送它......

       `git push ` and revert back your head to where it was earlier using its sha-id
    

    如果您不执行上述步骤,您的分支机构将偏离遥控器,您将在git status

    中看到它

    否则,只需使用其sha-id

  5. 恢复到您的提交