我们有一个项目,主要是通过复制/粘贴方法分解。但是回购之间仍然存在重大的重叠。
是否可以追溯性地将此fork标记为github的fork,以便比较和拉取请求等函数能做正确的事情?
注意:我已经尝试过" hack"下面,重新分叉,克隆叉子,复制"分叉"内容结束,然后git add / commit / push。但是,原始" fork"中的文件历史记录。失去了,分支不会过来。
答案 0 :(得分:1)
由于您不想将提交内容“压缩”到一个文件中,因此您可以执行以下操作:
或者您可以看看如何合并两个存储库,例如this post中的存储库。就像他们在那里所做的那样,您可以将“ c&p repo”作为子树添加到fork中,就像在over here中进行了详细说明一样。
这是指南中采取的步骤:
git remote add -f c&prepo /path/to/c&prepo
git merge -s ours --no-commit c&prepo/master
git read-tree --prefix=vendor/c&prepo/ -u c&prepo/master
git commit
但是,即使使用这些方法,您也无法合并整个存储库,而只能合并特定的分支。您可以做的就是为每个分支创建一个拉取请求(在我的第一种方法中进行了描述),这可能会花费一些时间,具体取决于您的分支模型。
我认为实际上没有一种解决方案,您可以合并两个不同的存储库,同时保留其提交历史记录和分支。祝您好运。
答案 1 :(得分:0)
你应该尝试一下这个:
git add remote ...
)git rebase
)