在GitHub中编辑git commit消息

PNS*_*PNS 152 git commit github post-commit

提交GitHub.com后,是否有任何在线编辑提交消息的方法?

从命令行,人们可以做到

git commit --amend -m "New commit message"
Run Code Online (Sandbox Code Playgroud)

正如另一个问题中的正确建议.

尝试git pull然后git push工作(没有任何其他提交在平均时间干扰).

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

Dan*_*ger 133

GitHub执行此操作的说明:

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

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

  • 小心!使用<git commit --amend>&<Enter>和<git commit --amend -m"新提交消息">之间的区别在于,在第一种情况下,您在文本编辑器中编辑提交消息&在第二个你用"新提交消息"替换它.如果强制推送,则会替换遥控器上的提交.这并不能解决如果团队中的其他人已经撤回先前的提交,您现在在不同的计算机上拥有不同的历史记录(包括不同的提交).如果你知道没有人撤回你的提交,这是安全的.阅读源丹发布 (7认同)
  • `git commit --amend`一直存在.此外,你在git(这是一个开源命令行工具)和Github(这是一家提供在线源代码托管的公司)之间感到困惑. (7认同)
  • @ DanGreen-Leipciger-是的,但这不是在网站本身上完成的,而是使用命令行完成的。我认为PNS希望从Web界面中做到这一点。 (3认同)
  • OP 询问了 GitHub,特别是在提交被推送到他们的服务器之后。这些是 GitHub 的说明,用于执行 OP 所要求的操作。 (2认同)
  • OP问具体怎么用GitHub做,这是专门用GitHub做的。 (2认同)

dun*_*nni 94

不,这不是直接可能的.每个Git提交的哈希也是基于提交消息计算的.更改提交消息时,更改提交哈希.如果你想推送那个提交,你必须强制推送(git push -f).但是,如果已经有人撤回了您的旧提交并开始基于该提交的工作,他将不得不将他的工作重新设置为您的新提交.

  • OP 询问是否可以在 Github 网站上在线完成。AFAIK 这仍然是不可能的。所以我的答案是有效的,Dan Green 的答案只处理如何在本地执行的方式,而不是在 Githubs 网站上执行的方式。 (2认同)

thr*_*ree 30

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

  • 当然,如果你' - 并且'你已经改变了历史. (2认同)

Sau*_*kar 6

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

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

希望能帮助到你