我在http代理后面工作。我正试着用他们的"repo“工具克隆Android的源码树。
此工具坚持使用git://
URL,即使http://
URL也可以工作。因此,我无法下载源代码。
是否可以强制git
始终使用http
编辑: my http_proxy配置正确。例如,这是可行的:
git clone http://android.git.kernel.org/platform/manifest.git
但这不是(errno=Connection超时):
git clone git://android.git.kernel.org/platform/manifest.git
所以this answer并没有真正帮到我。
发布于 2012-07-08 21:40:40
以下是重写GitHub默认协议的示例:
git config --global url.https://github.com/.insteadOf git://github.com/
url..insteadOf
的Git文档
git config [--global] url.<base>.insteadOf <other_url>
任何以该值开头的URL都将被重写为以<base>
开头。当多个insteadOf字符串与给定的URL匹配时,将使用最长的匹配。
发布于 2009-11-13 00:30:21
我不知道这个repo工具是如何使用Git的(如果你可以配置'repo‘来使用http协议),但是你可以尝试使用url.<base>.insteadOf
配置变量来欺骗它(参见git-config和git-fetch手册页)。
你有没有尝试过使用core.gitProxy
穿越防火墙,如果这是使用git协议的问题?
发布于 2011-02-16 06:48:40
我在递归地获取git存储库中的子模块时也遇到了同样的问题。我在一个疯狂的防火墙后面,它不允许在git端口上进行传出连接。子模块的一些子模块被编码为git://github.com/blah/blah.git
。这杀死了我的子模块的递归群体。解决方法如下:
git config --global url."https://<GITUSERNAME>@".insteadOf git://
这将在所有子模块存储库URL中用https://<GITUSERNAME>@
替换git://
。您需要将<GITUSERNAME>
替换为您自己的git用户名。还要注意,--global
是必需的;仅将此配置添加到基本存储库目录是不起作用的。
https://stackoverflow.com/questions/1722807
复制相似问题