【问题标题】:How to change the message of a pushed commit [duplicate]如何更改推送提交的消息[重复]
【发布时间】:2016-03-01 18:58:19
【问题描述】:

我有这样的 git 历史:

date|commit hash|message
2015 10:00|12345|first commit
2015 10:05|12346|second commit
2015 10:10|12347|third commit
2015 10:15|12347|fourth commit

所有这些提交都被推送。将哈希“12346”的提交消息从“第二次提交”更改为“第二次提交已更改”的最佳方法是什么?

我正在寻找最简单的解决方案,而无需重新定位或创建新分支;只是更改提交消息。我认为即使有人获取它也不会影响其他人,因为提交仍然具有相同的内容和哈希(只有消息会不同)。

编辑:

我的问题不是这样的:Changing git commit message after push (given that no one pulled from remote) 因为最后一次提交有解决方案,我正在寻找历史悠久的提交。

【问题讨论】:

  • 最后一次提交有答案,我不是在寻找最后一次提交。我希望从更深层次的历史中编辑提交。
  • 您可以使用git rebase -i ... 编辑旧提交的消息,但您将重写历史记录。没有办法解决这个问题。
  • @fico7489 您正在寻找比之前评论中链接到的问题更普遍的问题的解决方案,但答案是相同的:如果不重写历史记录,您就无法做到这一点,因为更改消息会更改哈希值。
  • 谢谢 Joost,您的回答是我问题的解决方案,我不知道该消息是哈希创建的一部分。

标签: git


【解决方案1】:

这是不可能的。提交是许多事情的高潮,包括它的信息。

更改消息会更改哈希,这意味着它是一个新的提交。这将改变历史。

【讨论】:

  • 也许有一些解决方法?
  • 您可以使用git notes,然后在登录时查看注释。但是除非你想重写历史,否则改变消息本身是不可能的,这几乎不是一个好主意。
  • 有关git notes的更多信息,请阅读:git-scm.com/2010/08/25/notes.html
猜你喜欢
  • 2013-06-15
  • 2019-02-09
  • 2011-06-29
  • 1970-01-01
  • 2014-07-13
  • 2013-06-09
  • 2021-09-22
  • 2017-07-04
相关资源
最近更新 更多