【发布时间】:2013-01-01 02:35:32
【问题描述】:
我需要在 Bitbucket 中更改旧的 git 提交消息。我尝试了git rebase -i 并改写了我的消息,但是当我提取并提交它时,它只是将旧消息保留在 Bitbucket 中并将我的更改合并到。
【问题讨论】:
-
你找到解决方案了吗?
-
@MonkeyBonkey 如果你愿意,你可以接受正确的答案。
我需要在 Bitbucket 中更改旧的 git 提交消息。我尝试了git rebase -i 并改写了我的消息,但是当我提取并提交它时,它只是将旧消息保留在 Bitbucket 中并将我的更改合并到。
【问题讨论】:
如果是最近的提交,您可以简单地分两步完成:
git commit --amend -m "modified commit message"(修改留言)git push --progress origin --force(强制推送)小心使用--force 或-f! Bad things might happen...
强烈建议不要强制推送,因为这会更改存储库的历史记录。如果你强制推送,已经克隆了你的仓库的人将不得不手动修复他们的本地历史。
恕我直言,如果您完全确定在您推送之前没有其他人检查过修改后的提交,您可以强制推送到一个分支。
您可以在此处找到有关 git commit 和 git push 的文档。
【讨论】:
这基本上是 4 步过程。但是如果多个团队成员在同一个分支上工作并拥有自己的副本,那就有点冒险了。 (如果你是唯一一个工作的人,那就去吧)
这个 git 手册解释得很漂亮:Amending older or multiple commit messages
git rebase -i HEAD~X(X=您要更改的提交消息的数量)git push -f
【讨论】:
我不知道您是否可以更改提交消息,但您可以在提交消息下发表评论。我认为这在某种程度上是您评论的更改。 您单击提交消息的编号,然后在您的消息下方,您可以发表任何您想要的评论。 然后您的消息旁边会出现一个“K1”标志,这意味着您的消息中有一条评论,它将提醒您更改了您的消息... 我希望这会对你有所帮助...
【讨论】: