如何将多个远程git repo包含在一个repo中?

时间:2011-11-19 21:58:04

标签: git merge

尝试提出逻辑和标准方法来实现这一目标。

实施例

远程回购称为“A”

此仓库被克隆为“本地A”并且维护2个遥控器,一个主控器和一个上游器件。上游更改(A)与“Local A”master合并并推送。一切都好。

远程回购称为“B”

这些repo文件需要包含在子目录中的“Local A”中。

我是否只是将另一个远程仓库添加到此子目录并获取,合并?这是正常的吗?

PS。我不想使用子模块,我只是想将多个遥控器中的文件拉到一个主git中,但也让它们保留并“上游”远程以引入更新,然后合并并推送到一个主机。

2 个答案:

答案 0 :(得分:2)

答案是在github:http://help.github.com/subtree-merge/

如果您需要移动目录,只需像往常一样移动目录。如果您需要更改历史记录,那会更棘手,但您可以在此处找到说明:http://help.github.com/split-a-subpath-into-a-new-repo/

答案 1 :(得分:2)

另一种实现方法是使用子模块。根据您将如何使用它,您应该决定哪种方法可以更好地满足您的需求。

submodulessubtree merging以及何时使用这些内容的非常好的解释可在progit.org上找到。