203

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

从命令行,一个可以做

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

正如另一个问题中正确建议的那样。

尝试git pull然后git push工作(同时没有任何其他提交干扰)。

但是可以通过GitHub网站完成吗?

4

9 回答 9

165

GitHub 执行此操作的说明:

  1. 在命令行上,导航到包含要修改的提交的存储库。
  2. 键入git commit --amend并按 Enter。
  3. 在您的文本编辑器中,编辑提交消息并保存提交。
  4. 使用该git push --force example-branch命令强制推送旧提交。

来源:https ://help.github.com/articles/changeing-a-commit-message/

于 2017-01-06T20:03:56.430 回答
123

不,这不是直接可能的。每个 Git 提交的哈希值也是根据提交消息计算的。当您更改提交消息时,您会更改提交哈希。如果要推送该提交,则必须强制该推送(git push -f)。但是,如果已经有人取消了您的旧提交并基于该提交开始了一项工作,那么他们将不得不将他们的工作重新定位到您的新提交上。

于 2012-05-23T21:56:02.163 回答
31

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

于 2012-05-23T21:55:50.377 回答
5

对于 intellij 用户: 如果您想以交互方式对过去的提交进行更改,而不是推送,请按照Intellij中的以下步骤操作:

  • 选择版本控制
  • 选择日志
  • 右键单击要修改评论的提交
  • 点击改写
  • 完毕

希望能帮助到你

于 2019-08-13T13:41:46.677 回答
3

不,因为提交消息与提交 SHA / 哈希有关,如果我们更改它,提交 SHA 也会更改。我使用的方式是对该提交创建评论。我不能想别的办法。

于 2013-04-15T09:13:54.837 回答
1

对于 Android Studio / intellij 用户:

  • 选择版本控制
  • 选择日志
  • 右键单击要重命名的提交
  • 单击编辑提交消息
  • 写下你的提交信息
  • 完毕
于 2020-11-22T06:56:40.190 回答
0

我面临着同样的问题。

在您的 github 中查看特定分支,您将知道该分支中第一个提交的提交 ID。做一个变基:

git rebase -i <Commit SHA of first commit>

将打开一个编辑器。从 github UI 跟踪您的提交并打开编辑器并更改消息。

于 2016-08-15T23:36:39.550 回答
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 ,但我只是在做其他事情以节省时间时跳过那条线。)

于 2021-04-08T15:18:56.350 回答
0

对于 Visual Studio 用户:

您可以通过单击 Unpushed Commit (1) 和 View Outgoing/Incoming 选项 (2) 从提交选项卡修改提交消息。然后,一旦修改了评论 (3),“修改消息”选项 (4) 就会启用,并且会在提交中自动执行更改。

在此处输入图像描述

在 VS 2019 上测试

于 2022-02-09T13:05:10.143 回答