在GitHub.com提交后,有什么在线编辑提交消息的方法吗?

从命令行就可以做到

git commit --amend -m "New commit message"

如以下问题所正确提示:

如何修改现有的、未推送的提交消息?

尝试git pull和git push已经成功(在此期间没有任何其他提交干扰)。

但是可以通过GitHub网站来实现吗?


当前回答

不,这是不可能的。每次Git提交的散列也是基于提交消息计算的。当您更改提交消息时,您也更改了提交散列。如果你想要推送那个提交,你必须强制那个推送(git push -f)。但是,如果已经有人提取了您的旧提交,并基于该提交开始了一项工作,那么他们将不得不将其工作重新基于您的新提交。

其他回答

你需要git push -f,假设之前没有人拉过其他提交。小心,你正在改变历史。

不,这是不可能的。每次Git提交的散列也是基于提交消息计算的。当您更改提交消息时,您也更改了提交散列。如果你想要推送那个提交,你必须强制那个推送(git push -f)。但是,如果已经有人提取了您的旧提交,并基于该提交开始了一项工作,那么他们将不得不将其工作重新基于您的新提交。

对于Android Studio / intellij用户:

选择版本控制 选择日志 右键单击要重命名的提交 单击编辑提交消息 编写提交消息 完成

不,因为提交消息与提交SHA / hash相关,如果我们改变了它,提交SHA也会被改变。我使用的方法是在该提交上创建注释。我不能反过来想。

我被要求修改我在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,但我只是在做其他事情时跳过了这一行,以节省时间。)