我正在为我的公司开发应用程序,我们在公司的网络中使用私有的git repo。通过使用到同一主机的多个上游(但通过不同的SSH端口),我能够在内部和外部处理我们的git项目,如下所示:
external ssh://user@externalhost.example.com:1234/var/git/project.git
origin ssh://user@internalhost.example.com/var/git/project.git只有在内部连接时,我的子模块才能工作。下面是上游的一个示例子模块:
[submodule "common-code"]
path = common-code
url = ssh://user@internalhost.example.com:/var/git/common-code.git有没有办法管理子模块的多个上游,以便我可以在公司网络内部和外部使用它们?
注意:我在so上找到了一些关于这方面的旧帖子,但它们并没有真正解决OP的答案,或者对如何做到这一点含糊其辞。
发布于 2018-10-26 21:18:43
子模块的URL可以是相对URL。这只会有潜在的帮助,因为它是相对于默认远程URL的。因此,对于单个克隆,它仍然指向单个URL (内部或外部,这取决于哪个远程URL是缺省的);但您可以创建供内部使用的克隆和供外部使用的单独克隆,然后对子模块使用相对URL。
如果出于任何原因,您确实需要使用单个克隆-也许您在笔记本电脑上工作,并且来回切换太频繁,以至于在两个克隆之间共享本地更改会很不方便-那么我能想到的唯一选择就是在内部和外部之间切换时创建一个脚本来修改本地配置。尽管如此,我仍然认为最好不要调整子模块路径,因此我将使用相对URL,并且只需在从内部移动到外部或从外部移动到内部时修改远程配置。
https://stackoverflow.com/questions/53009308
复制相似问题