提交后,是否有任何方法可以在GitHub.com
中在线编辑提交消息?
从命令行,可以执行
git commit --amend -m "New commit message"
正如another question中正确建议的那样。
尝试git pull
然后git push
已经有效(没有任何其他提交同时受到干扰)。
但可以通过GitHub
网站完成吗?
答案 0 :(得分:117)
git commit --amend
,然后按Enter键。git push --force example-branch
命令强制推送旧提交。来源:https://help.github.com/articles/changing-a-commit-message/
答案 1 :(得分:87)
不,这不是直接可能的。每个Git提交的哈希也是基于提交消息计算的。更改提交消息时,更改提交哈希。如果你想推送那个提交,你必须强制推送(git push -f)。但是,如果已经有人撤回了您的旧提交并开始基于该提交的工作,他将不得不将他的工作重新设置为您的新提交。
答案 2 :(得分:30)
您需要git push -f
假设之前没有人撤过其他提交。当心,你正在改变历史。
答案 3 :(得分:3)
不,因为提交消息与提交SHA /哈希相关,如果我们更改它,则提交SHA也会更改。我使用的方法是在该提交上创建注释。我不能想到另一种方式。
答案 4 :(得分:3)
对于intellij用户: 如果您希望以交互方式对过去的提交进行更改,而这些更改不会被推送,请按照 Intellij 中的以下步骤操作:
希望有帮助
答案 5 :(得分:0)
对于Android Studio / intellij用户:
答案 6 :(得分:0)
我被要求修改我在 github 上提交的补丁提交消息,(最后到了这里。)这就是我为完成工作所做的。
git clone git@github.com:YOURNAME/EXAMPLE.git; cd EXAMPLE; git fetch --all; git pull --all
git checkout -b patch-2 origin/patch-2 # create local patch-2 branch
git commit --amend # update the commit message
git push -f
这适用于分支上的最后一次提交。如果有问题的提交更深,您将需要做一些更复杂的事情。 (我不知道是否需要 fetch 和 pull,但我只是在处理其他事情时跳过那一行以节省时间。)