【发布时间】:2025-12-19 21:55:07
【问题描述】:
问题:
有没有办法通过与主存储库相同的方法(ssh 或 https)自动检出 git 子模块?
背景:
我们有一个非公共 gitlab 存储库 (main),它有一个子模块 (utils),它也作为非公共 gitlab 存储库托管在同一台服务器上。可以通过 ssh 或 https 访问这些存储库:
user@gitlabserver.com:my/path/repo.githttps://gitlabserver.com/my/path/repo.git
显然,这两种变体都需要不同形式的身份验证,并且取决于客户端计算机和用户,首选其中一种。
对于*存储库 (main) 这不是问题,因为任何人都可以选择他或她喜欢的方法,但对于子模块,这取决于 .gitmodules 文件,因此(最初)是所有人都一样。
现在,每个人都不必将 .gitmodules 文件调整为他们喜欢的任何内容并确保他们不会意外提交这些更改,如果有一种方法可以只指定服务器和 repo 路径并且 git 选择与主 repo 使用的方法相同,或者可以在 gitconfig 中设置的方法。
【问题讨论】:
-
tldr 抱歉。但我使用 git-hooks 运行
git submodule foreach git submodule update或类似的。我没有时间写一个正确的答案,但我希望这会有所帮助。
标签: git gitlab git-submodules