如何在内部遥控器上添加其他外部Git遥控器?

时间:2013-02-08 14:06:25

标签: git

在使用上游Git存储库的项目上开发一些补丁时,我现在正在执行以下操作。

superproject/submodules/actualproject

^ parent repo           ^ Git submodule

actualproject有两个遥控器:

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

这样工作正常,但是一旦另一个人(同事)克隆了我的树(通过子模块使用超级项目或者只使用其中一个子模块),他就会:

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

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

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

2 个答案:

答案 0 :(得分:1)

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

编辑:要更改他克隆超级项目时获得的子模块远程,您必须编辑.gitmodules文件以指向'vendor'而不是'myname';)

答案 1 :(得分:-1)

你可以添加另一个远程

git remote add backup user@server:/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无法在没有脚本的遥控器中保存其他遥控器