繁体   English   中英

Git如何制作一个主仓库来跟踪另外两个仓库

[英]Git How to make a master repo that tracks two other repos

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

目前,我们有2个人分别从事单独的 仓库RepoARepoB )。

我们认为最好是拥有1个主仓库来保存完整的应用程序,但我们也想继续自己开发单独的仓库。 我按照教程将两个仓库都合并到一个新的主仓库RepoC )中。

一切运行正常,但是现在我们遇到了一个问题,即对RepoARepoB的更改不会反映在RepoC中 ,反之亦然。

所以我想知道...有什么办法,我们可以告诉RepoC跟踪RepoARepoB进行更改,并在需要时与它们同步。

如果上述方法不可行,那么是否存在至少一种方法,我们可以为自己的存储库做出贡献,然后在主RepoC上执行诸如“ git fetch RepoAgit fetch RepoB ”之类的操作,以便它可以反映我们所做的更改。

从理论上讲,一个仓库可以跟踪不同远程和分支机构的仓库的无限数量。

假设RepoA的网址是git://host/repoa.git而RepoB的网址是git://host/repob.git 每个都有三个分支,例如masterfeaturerelease

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

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

接着

git fetch --all

可以跟踪两个存储库中的所有分支。

但是,这种方法存在一些问题。

  1. 您只能检出这些分支之一,这意味着您不能在同一工作树中使用2个回购代码。
  2. 从远程跟踪分支签出/创建本地分支时,需要仔细命名它们,以免混淆自己。
  3. 如果RepoA和RepoB具有相同名称的标签,则只能将其中一个标签提取到RepoC中。

由于已将它们合并到RepoC中,因此您可以创建两个遥控器并同时跟踪两个遥控器。 但是,为什么不使用两个存储库来跟踪它们呢?

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

问候

安多尼

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM