最佳答案
问题:
是否有办法通过与主存储库相同的方法(ssh 或 https)自动签出 git 子模块?
背景:
We have a non-public gitlab repository (main
) that has a submodule (utils
) which is also hosted as a non-public gitlab repository on the same server. Those repositories can be accessed either via ssh or https:
user@gitlabserver.com:my/path/repo.git
https://gitlabserver.com/my/path/repo.git
这两种变体显然都需要不同形式的身份验证,根据客户端计算机和用户的不同,这两种身份验证都是首选的。
对于顶级存储库(main
) ,这不是问题,因为任何人都可以选择自己喜欢的方法,但是对于子模块,这取决于 .gitmodules
文件,因此(最初)对所有子模块都是相同的。
现在不是每个人都要去适应。Gitmodule 文件到他们喜欢的任何地方,并确保他们不会意外地提交这些更改,这将是很好的,如果有一种方法可以只指定服务器和回购路径,git 选择要么是用于主回购的相同方法,或者可以在 gitconfig 中设置的东西。