在GitHub.com提交后,有什么在线编辑提交消息的方法吗?
从命令行就可以做到
git commit --amend -m "New commit message"
如以下问题所正确提示:
如何修改现有的、未推送的提交消息?
尝试git pull和git push已经成功(在此期间没有任何其他提交干扰)。
但是可以通过GitHub网站来实现吗?
在GitHub.com提交后,有什么在线编辑提交消息的方法吗?
从命令行就可以做到
git commit --amend -m "New commit message"
如以下问题所正确提示:
如何修改现有的、未推送的提交消息?
尝试git pull和git push已经成功(在此期间没有任何其他提交干扰)。
但是可以通过GitHub网站来实现吗?
不,这是不可能的。每次Git提交的散列也是基于提交消息计算的。当您更改提交消息时,您也更改了提交散列。如果你想要推送那个提交,你必须强制那个推送(git push -f)。但是,如果已经有人提取了您的旧提交,并基于该提交开始了一项工作,那么他们将不得不将其工作重新基于您的新提交。
我也面临着同样的问题。
在你的github中查看一个特定的分支,你会知道该分支中第一个提交的提交id。对其进行重基:
git rebase -i <Commit SHA of first commit>
编辑会打开门。从github UI跟踪你的提交,打开编辑器并更改消息。
GitHub对此的说明如下:
在命令行上,导航到包含要修改的提交的存储库。 输入git commit——amend并按Enter。 在文本编辑器中,编辑提交消息并保存提交。 使用git push——force origin example-branch命令强制推旧的提交。
来源:https://help.github.com/articles/changing-a-commit-message/
对于intellij用户: 如果你想以交互式的方式对过去的提交进行更改,请在Intellij中执行以下步骤:
选择版本控制 选择日志 右键单击要修改注释的提交 单击重述 完成
希望能有所帮助
我被要求修改我在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,但我只是在做其他事情时跳过了这一行,以节省时间。)
对于Visual Studio用户:
你可以通过单击unpushing commit(1)和View Outgoing/Incoming选项(2)来修改commit选项卡中的commit消息。 然后,一旦注释被修改(3),“修正消息”选项(4)被启用,并且在提交中自动执行更改。
VS 2019测试