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
中查看更多示例
我正在尝试通过 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
中查看更多示例