在 GitHub 中编辑 git 提交消息

问题描述 投票:0回答:9

提交后,有没有办法在线编辑

GitHub.com
中的提交信息?

从命令行,人们可以做

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

正如以下问题中正确建议的那样:

尝试

git pull
,然后
git push
已经起作用(同时没有任何其他提交干扰)。

但是可以通过

GitHub
网站完成吗?

git github commit post-commit
9个回答
185
投票

GitHub 的说明:

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

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


135
投票

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


32
投票

您需要

git push -f
假设之前没有人拉取过另一个提交。当心,你正在改变历史。


6
投票

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

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

希望有帮助


3
投票

不,因为提交消息与提交 SHA / 哈希相关,如果我们更改它,提交 SHA 也会更改。我使用的方法是对该提交创建评论。我无法以其他方式思考。


2
投票

Android Studio / intellij 用户:

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

2
投票

我被要求修改我在 github 上提交的补丁提交消息(并最终到达这里。)这就是我为完成工作所做的。

git clone [email protected]: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

这适用于分支上的最后一次提交。如果有问题的提交更深,您将需要做一些更复杂的事情。 (我不知道是否需要获取和拉取,但我只是在这行中过去,同时我正在做其他事情以节省时间。)


1
投票

我也面临着同样的问题。

在你的 github 中查看特定分支,你就会知道该分支中第一个提交的提交 ID。对此进行变基:

git rebase -i <Commit SHA of first commit>

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


1
投票

对于 Visual Studio 用户:

您可以通过单击未推送的提交 (1) 和查看传出/传入选项 (2) 从提交选项卡修改提交消息。 然后,一旦修改注释 (3),就会启用“修改消息”选项 (4),并在提交中自动执行更改。

enter image description here

在 VS 2019 上测试

© www.soinside.com 2019 - 2024. All rights reserved.