通过https更新Git子模块

时间:2012-07-10 09:07:01

标签: git proxy git-submodules

我坐的代理只允许http / https流量,我能够从Github克隆存储库,但我必须使用https URL和用户名/密码来获取/推送。

现在我的问题是一个包含子模块的存储库,当我执行git submodule update它超时时,我只能假设这是因为它使用了被阻止的SSH连接。 (它甚至没有要求我在私人回购中提供密码)

2 个答案:

答案 0 :(得分:31)

在您的repo根目录中的.gitmodules文件中,以及.git/config文件中,您应找到子模块的一个部分。您可以在那里编辑网址,以便通过https请求而不是ssh访问它。

当然它可能已经是一个ssh url,在这种情况下问题可能是别的,但这是第一个要检查的地方。

答案 1 :(得分:29)

使用https网址修改您的.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文件的更改。

致谢:https://stackoverflow.com/a/6632693/1273077