我需要在 Bitbucket 中更改旧的 git 提交消息。我尝试git rebase -i
并改写了我的消息,但是当我提取并提交它时,它只是将旧消息保留在 Bitbucket 中并将我的更改合并到。
问问题
91417 次
3 回答
83
它基本上是 4 个步骤的过程。但是如果多个团队成员在同一个分支上工作并拥有自己的副本,那就有点冒险了。(如果你是唯一一个工作的人,那就去吧)
这个 git 手册很好地解释了它:修改旧的或多个提交消息
git rebase -i HEAD~X
(X=您要更改的提交消息的数量)- 上面的命令将在编辑器中打开 git 文件。将文本“pick”替换为“reword”并保存文件。
- 它将为每个提交一一打开编辑器,然后您再次更改提交消息。
- 在末尾:
git push -f
于 2016-12-21T00:23:34.273 回答
72
如果它是最近的提交,您可以简单地通过 2 个步骤执行此操作:
git commit --amend -m "modified commit message"
(修改留言)git push --progress origin --force
(强制推)
小心使用--force
or -f
!坏事可能会发生...
强烈建议不要强制推送,因为这会更改存储库的历史记录。如果您强制推送,已经克隆了您的存储库的人将不得不手动修复他们的本地历史记录。
恕我直言,如果您绝对确定没有其他人在您推送之前检查过修改后的提交,您可以强制推送到一个分支。
在这里你可以找到关于git commit和git push的文档。
于 2018-03-26T00:29:49.023 回答
13
我不知道您是否可以更改提交消息,但您可以在提交消息下发表评论。我认为这在某种程度上是您评论的更改。您单击提交消息的编号,然后在您的消息下方,您可以发表任何您想要的评论。然后您的消息旁边会出现一个“K1”标志,这意味着您的消息中有一条评论会提醒您更改了消息...希望这对您有所帮助...
于 2013-04-13T15:56:50.953 回答