2

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

superproject/submodules/actualproject

^ parent repo           ^ Git submodule

actualproject有两个遥控器:

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

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

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

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

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

4

2 回答 2

1

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

编辑:要更改他在克隆超级项目时获得的子模块远程,您必须编辑 .gitmodules 文件以指向“供应商”而不是“我的名字”;)

于 2013-02-08T14:10:54.353 回答
-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/changeing-git-remote-origin _ _

编辑:我错过了你问题的重点,但我认为 Git 无法在没有脚本的情况下将其他遥控器保存在遥控器中

于 2014-06-23T05:29:53.360 回答