我坐在只允许 http/https 流量的代理上,我可以从 Github 克隆存储库,但我必须使用 https URL 和用户名/密码来获取/推送。
现在我的问题是一个带有子模块的存储库,当我执行git submodule update
它时超时,我只能假设这是因为它使用的是被阻止的 SSH 连接。(它甚至不要求我在私人仓库上输入密码)
我坐在只允许 http/https 流量的代理上,我可以从 Github 克隆存储库,但我必须使用 https URL 和用户名/密码来获取/推送。
现在我的问题是一个带有子模块的存储库,当我执行git submodule update
它时超时,我只能假设这是因为它使用的是被阻止的 SSH 连接。(它甚至不要求我在私人仓库上输入密码)
使用 https url编辑您的.gitmodules
文件,例如:
[submodule "vendor/engines/fat_free_crm"]
path = vendor/engines/fat_free_crm
url = https://github.com/fatfreecrm/fat_free_crm.git
然后运行git submodule sync
以反映对文件的更改.git/config
。
在.gitmodules
存储库根目录的文件中,以及在.git/config
文件中,您应该找到子模块的部分。您可以在那里编辑 url,以便通过 https 请求而不是 ssh 访问它。
当然它可能已经是一个 ssh url,在这种情况下问题可能是其他问题,但这是首先要检查的地方。
如果您不想自己手动更改 .gitmodules 文件,您现在可以使用 git CLI 来完成(确保您的 git 版本不太旧)。
这将为您进行更改:
git submodule set-url [--] <path> <newurl>
例子:
git submodule set-url somedir https://github.com/somename/somerepo.git