我正在尝试更改SourceTree中的提交消息,但无法找到该选项的位置。它尚未推出。
如何在SourceTree或命令行中修改旧提交的消息?
答案 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)
git reflog
查找提交,然后找到其sha-id 要转到该提交,请使用
git reset --hard sha-id
(如果您不想保留当前状态的更改)
或
使用git reset --soft sha-id
(如果您想保留更改)
现在做一个提交 - 发送到提交.......
现在,检查您正在修改的提交是否已被推送,
如果,是,则执行rebase并推送它......
`git push ` and revert back your head to where it was earlier using its sha-id
如果您不执行上述步骤,您的分支机构将偏离遥控器,您将在git status
否则,只需使用其sha-id