我想将一些 github 存储库克隆到只能通过 SSH 隧道访问 github 的计算机。
我可以使用 ssh 地址毫无问题地克隆简单的存储库。
当存储库包含子模块时,访问方法由 .gitsubmodules
控制,通常默认为 https 地址(因为这是 github 推荐的方式)。
有没有办法告诉 git 子模块它应该始终使用 ssh 访问,即使子模块的地址是 https 地址?
必须克隆一个 repo 并修改它的 .gitsubmodules
才能通过 ssh 隧道克隆它似乎很迟钝。在 .gitsubmodules
文件中硬编码访问方法而不是让您的用户选择适当的方法似乎也很迟钝。我想一定有更好的方法,但我找不到。
最佳答案
您可以使用 git 重写 url
git config --global url."https://".insteadOf git://
您可以在表达式中包含主机名以限制对特定主机的重写
git config --global url."https://github.com".insteadOf git://github.com
如果您不希望重写规则是全局的,那么只需将其添加到您的本地范围即可。
在 url.<base>.insteadOf
部分查看更多信息在 http://git-scm.com/docs/git-config
关于git - 如何在 github https 存储库地址上使用 git 和 ssh?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32481859/