我想把这两个仓库移到第一个仓库中,我怎样才能做到这一点而不丢失提交的历史记录呢?谢谢!This is what Im trying to do
我试图搜索有关此问题的信息,但我所找到的都是如何克隆存储库,但如果我只是将它们克隆到新的存储库中,然后删除旧的存储库,则使用克隆会丢失历史记录=/我想做的是以某种方式移动它们
我想把这两个仓库移到第一个仓库中,我怎样才能做到这一点而不丢失提交的历史记录呢?谢谢!This is what Im trying to do
我试图搜索有关此问题的信息,但我所找到的都是如何克隆存储库,但如果我只是将它们克隆到新的存储库中,然后删除旧的存储库,则使用克隆会丢失历史记录=/我想做的是以某种方式移动它们
2条答案
按热度按时间cpjpxq1n1#
假设您有一个旧存储库的本地克隆。在此本地上,将新存储库添加为新远程存储库:
然后,对于您拥有的本地分支机构,您可以
对于在旧回购协议中但在本地没有的分支机构:
当然,
old-repo
也可能是origin
。fd3cxomn2#
在这种情况下,我的策略是使用
git merge --allow-unrelated-histories
,合并后的回购协议将有两个不相关的初始提交,当您查看历史记录时,这可能看起来很奇怪,但这两个回购协议的历史记录将包含在合并后的回购协议中,您不必重写任何历史记录,只需将它们合并即可。现在,你说你想把文件从一个存储库移到一个子目录中。在合并之前,先这样做。然后合并不相关的历史记录,并推送结果。
这里有一个完整的注解食谱做到这一点:
现在你应该都设置好了你想要的!