我从母公司创建了分支A。在该分支上,我执行了rebase --i
并重命名了一些从一开始就存在的提交。现在,我想将分支A合并回主服务器,用在分支A上设置的消息覆盖主服务器的提交。但是,如果我调用merge
,则分支A的提交将放在{{1 }}。有没有办法强制将master
中的旧提交替换为分支A上的更新版本?
答案 0 :(得分:0)
免责声明:请勿在不了解后果的情况下更改已发布的Git历史记录。它可能给他人和您造成麻烦。阅读有关推动或重新踩踏的所有警告。
如果我对您的理解正确,并且您已在评论中确认这一点,那么您现在所拥有的是:
a-b-c--d--e <- master
\
c'-d'-e' <- A
您希望它成为现实:
a-b (-c--d--e)
\
c'-d'-e' <- A, master
然后,您可以简单地删除master分支,并在适当的提交时重新创建。或者,强制创建它(结果是相同的):
git branch -f master A
这将创建一个分支master
,该分支指向与A
相同的提交,包括A的所有历史记录。 旧master
的现有历史记录将丢失。