我想将一些github存储库克隆到只能通过SSH隧道访问github的计算机。
我可以使用ssh地址克隆简单的存储库而不会出现问题。
当存储库包含子模块时,访问方法由.gitsubmodules
控制,.gitsubmodules
通常默认为https地址(因为这是github推荐的方式)。
有没有办法告诉git子模块它应该始终使用ssh访问,即使子模块的地址是https地址?
必须克隆一个repo并修改它的.gitsubmodules
只是为了能够通过ssh隧道克隆它似乎迟钝了。在 <repository>
<id>sonatype.oss.snapshots</id>
<name>Sonatype OSS Snapshot Repository</name>
<url>http://oss.sonatype.org/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
文件中对访问方法进行硬编码而不是让用户选择适当的方法似乎也相当迟钝。我想必须有一个更好的方法,但我找不到它。
答案 0 :(得分:1)
更改.gitmodules
中的值是更改子模块协议的常用方法,后跟git submodule sync
更新远程存储库位置。