Git如何制作跟踪另外两个回购的主回购

时间:2017-03-26 20:48:16

标签: git github synchronization git-remote

我们正在开发一个应用程序,并使用Gi​​thub来保存和修改我们的代码。

目前,我们每个人都在处理一个独立的回购( RepoA RepoB )。

我们认为,如果我们有1个主回购来持有完整的应用程序,那将是最好的,但我们也想继续我们自己的单独回购。 我按照this教程将我们的回购合并到一个新的主回购( RepoC )。

一切都运作良好但现在我们遇到的问题是 RepoA RepoB 的变化不会反映在 RepoC 中,反之亦然。

所以我想知道......有什么办法,我们可以告诉 RepoC 到“ 追踪 RepoA < / strong>和 RepoB 进行更改,并在需要时与它们同步。

如果无法实现上述目标,那么至少我们可以为自己的回购做出贡献,然后执行“ git fetch RepoA git fetch RepoB 之类的操作“在我们的主人 RepoC 上,以便它能反映我们所做的改变。

2 个答案:

答案 0 :(得分:1)

理论上,一个回购可以通过不同的遥控器和分支跟踪不定的回购数量。

假设RepoA的网址为git://host/repoa.git,RepoB的网址为git://host/repob.git。例如,每个分支都有三个分支,功能发布

在RepoC中,我们可以创建两个遥控器。

git add remote origina git://host/repoa.git
git add remote originb git://host/repob.git

然后

git fetch --all

可以跟踪两个回购中的所有分支。

然而,这种方法存在一些问题。

  1. 您只能结帐这些分行中的一个,这意味着您不能拥有2个回购&#39;代码在同一工作树中。
  2. 当您从远程跟踪结帐/创建本地分支时 分支机构,你需要仔细命名,不要混淆自己。
  3. 当RepoA和RepoB具有相同名称的标签时,只有其中一个 可以被提取到RepoC。
  4. 由于您已将它们合并到RepoC中,因此您可以创建两个遥控器并另外跟踪它们。但为什么不用两个回购来跟踪它们?

答案 1 :(得分:0)

看看git子模块功能:https://git-scm.com/book/en/v2/Git-Tools-Submodules

此致

安多尼