如何在GIT Rebase Interactive Squash之后删除远程存储库上的历史记录提交消息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在GIT Rebase Interactive Squash之后删除远程存储库上的历史记录提交消息相关的知识,希望对你有一定的参考价值。

我已经通过git rebase -i压缩了我的提交。然后我强制将其推送到我的远程存储库(个人项目)。

在压缩期间,我已为组合提交输入了新的提交消息。然后我通过使用git push origin +master强制将其推送到我的远程存储库。

我的问题是压扁提交中的旧消息仍然可见。

例如:

commit_A
commit_b

压缩这些提交并创建一个新的提交消息:

commit_AB

在强制推送之后,我的远程存储库上的提交消息说:

commit_AB commit_A commit_B

有没有办法让它只有commit_AB

更新:

我再次尝试git rebase -ireword提交消息,但我只能更新的是commit_AB消息。

有什么想法吗?

答案

您必须修改修订版,然后再次强制推送

git commit --amend # this will open the editor so you can fix the comment with your desired comment
git push origin +master

那应该做。

另一答案

我为解决这个问题所做的是git rebase -i head~n然后只是fixup那个具有额外提交消息的特定提交。

它似乎做的是删除该提交并将其合并到先前的提交,这正是我需要的。

以上是关于如何在GIT Rebase Interactive Squash之后删除远程存储库上的历史记录提交消息的主要内容,如果未能解决你的问题,请参考以下文章

[Git] Rebase - 使用 Interactive 模式来精简 commit 纪录

git rebase 翻译

git rebase命令(转)

【Git】rebase 用法小结

git修改历史记录

Git在rebase时如何保留merge commit(实用!)