2013-02-08 67 views
2

在使用上游Git存储库的项目上开发一些补丁程序时,我正在执行以下操作。如何在内部遥控器上添加额外的外部Git遥控器?

superproject/submodules/actualproject 

^ parent repo   ^Git submodule 

actualproject有两个遥控器:

  • vendor是 “上游” 远程。
  • myname是我自己的“内部”远程存储库。

工作正常这种方式,但只要他人(同事)克隆我的树(使用通过子模块上层项目或只是对自己的子模块之一),他将有:

  • 远程origin是我的存储库。
  • 远程vendor不存在。

什么是最好的方式至少有vendor远程配置自动为其他克隆?我可以在这里使用子模块的功能吗?例如。 submodule init已经设置了遥控器 - 我可以设置第二个吗?

或者,这是从一开始就完全错误的方法吗?

回答

1

您的同事应该git clone <URL to 'vendor' repo>而不是使用您自己的回购。这样他就会得到那个遥控器(它首先被称为“原点”,因为这是一个默认的git,但如果他愿意的话,他可以改变它)。

编辑:要远程他得到改变子模块,当他克隆的超级项目,你必须编辑您的.gitmodules文件指向的不是“MYNAME”“供应商”;)

+0

现在阅读你的答案我意识到我的问题并没有完全缩小,我已经过分简化了一些东西。我想我的问题中描述的情况没有问题。如果我对如何将这些话放入正确的话中(而不是过多地改变问题来使你的答案无效),我可能会再次询问它。无论如何感谢你。 :) – gertvdijk 2013-02-08 14:35:18

+0

要回答您可能会想知道的问题:否,Git无法在远程存储其他遥控器,并且除了原点外不能创建另一个上游遥控器。但是,您可以在单独的存储库中为您的项目维护克隆/创建/更新脚本,您的所有同事在克隆项目时应该使用这些脚本:) – 2013-02-08 15:08:29

+0

这就是我最终可能的结果,是的,谢谢。 – gertvdijk 2013-02-08 15:10:50

-1

您可以添加其他远程

git remote add backup [email protected]:/path/to/git/test.git 
git push backup master 

www.hostatic.ro/2011/09/29/pushing-to-two-git-remote-origins-from-one-repository/andersonleeb.com/blog/changing-git-remote-origin

编辑:我错了你的问题,但我想的Git无法保存其他遥控器在远程机智hout脚本

+0

我知道如何添加git遥控器以及如何推动。这不是我的问题。请重新阅读。 – gertvdijk 2014-06-23 06:33:01