72

我需要在 Bitbucket 中更改旧的 git 提交消息。我尝试git rebase -i并改写了我的消息,但是当我提取并提交它时,它只是将旧消息保留在 Bitbucket 中并将我的更改合并到。

4

3 回答 3

83

它基本上是 4 个步骤的过程。但是如果多个团队成员在同一个分支上工作并拥有自己的副本,那就有点冒险了。(如果你是唯一一个工作的人,那就去吧)

这个 git 手册很好地解释了它:修改旧的或多个提交消息

  1. git rebase -i HEAD~X (X=您要更改的提交消息的数量)
  2. 上面的命令将在编辑器中打开 git 文件。将文本“pick”替换为“reword”并保存文件。
  3. 它将为每个提交一一打开编辑器,然后您再次更改提交消息。
  4. 在末尾:git push -f
于 2016-12-21T00:23:34.273 回答
72

如果它是最近的提交,您可以简单地通过 2 个步骤执行此操作:

  1. git commit --amend -m "modified commit message"(修改留言)
  2. git push --progress origin --force(强制推)

小心使用--forceor -f坏事可能会发生...

强烈建议不要强制推送,因为这会更改存储库的历史记录。如果您强制推送,已经克隆了您的存储库的人将不得不手动修复他们的本地历史记录。

恕我直言,如果您绝对确定没有其他人在您推送之前检查过修改后的提交,您可以强制推送到一个分支。

在这里你可以找到关于git commitgit push的文档。

于 2018-03-26T00:29:49.023 回答
13

我不知道您是否可以更改提交消息,但您可以在提交消息下发表评论。我认为这在某种程度上是您评论的更改。您单击提交消息的编号,然后在您的消息下方,您可以发表任何您想要的评论。然后您的消息旁边会出现一个“K1”标志,这意味着您的消息中有一条评论会提醒您更改了消息...希望这对您有所帮助...

于 2013-04-13T15:56:50.953 回答