git - 即使使用 SSH 样式 git@github,您能否通过 HTTPS 进行克隆

git - Can you clone via HTTPS even if SSH-style git@github is used

我正在尝试通过 git submodule update --init --recursive 克隆一个包含子模块的 git 存储库。这些子模块都使用“git@github.com:foo/bar.git” URL。不幸的是,我的工作场所阻止 SSH URL 来自他们的防火墙。但是,我可以通过 HTTPS 克隆,没有任何问题。

如前所述,子模块 URL 在存储库中被硬编码为使用 SSH。有没有办法告诉 git 使用 HTTPS 克隆这些子模块存储库而不是 SSH 对 git 存储库进行任何直接修改?

使用 git config --global url.<base>.insteadOf 即时替换 URL。像

git config --global url.https://github.com/.insteadOf git@github.com:

(请注意末尾的冒号,必须将git@github.com:user/repo.git映射到https://github.com/user/repo.git)。

https://whosebug.com/search?q=%5Bgit-submodules%5D+insteadof

中查看更多示例