我有一个只能通过git访问的repo:来自某些机器,只能从https:来自其他人访问,我想设置一个引用它的子模块。我可以设置一个代理服务器吗?只是从一个映射到另一个?
答案 0 :(得分:2)
我的建议是不要使用代理设置,请使用替代配置设置:
[url "git@mygiturl.com"]
insteadOf = https://theother.git.url.com/
您可以在~/.gitconfig
或每个系统中为每个用户设置此项,通常为/etc/gitconfig
答案 1 :(得分:0)
子模块URL可以相对于其超级项目。根据存储库的托管方式,可以使用此方法代替记录完整的子模块URL。来自the git submodule add
documentation:
<库>是新子模块的原始存储库的URL。这可以是绝对URL,或者(如果它以./或../开头),相对于超级项目的默认远程存储库的位置(请注意,指定一个位于超级项目旁边的存储库foo.git bar.git,你必须使用../foo.git而不是./foo.git - 正如人们在遵循相对URL规则时所期望的那样 - 因为Git中相对URL的评估与相对URL相同目录)。
当子模块添加到超级项目时,它将记录该相对URL而不是完整的URL。当有人然后递归克隆时,子模块将从同一个基本URL克隆。在您的情况下,使用git:
网址克隆超级项目的人员也会使用git:
个子网址作为子模块,使用https:
网址进行克隆的用户也会使用https:
个子网址作为子模块。