在使用上游Git存储库的项目上开发一些补丁时,我现在正在执行以下操作。
superproject/submodules/actualproject
^ parent repo ^ Git submodule
actualproject
有两个遥控器:
vendor
是“上游”遥控器。myname
是我自己的“内部”远程存储库。这样工作正常,但是一旦另一个人(同事)克隆了我的树(通过子模块使用超级项目或者只使用其中一个子模块),他就会:
origin
是我的存储库。vendor
不存在。至少为其他克隆自动配置vendor
远程的最佳方法是什么?我可以在这里使用子模块的功能吗?例如。 submodule init
已设置遥控器 - 我可以设置第二个吗?
或者,从一开始这是一种完全错误的方法吗?
答案 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无法在没有脚本的遥控器中保存其他遥控器