首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将` `git:` urls转换为` `http:` urls

如何将` `git:` urls转换为` `http:` urls
EN

Stack Overflow用户
提问于 2009-11-12 23:00:24
回答 5查看 103.2K关注 0票数 148

我在http代理后面工作。我正试着用他们的"repo“工具克隆Android的源码树。

此工具坚持使用git:// URL,即使http:// URL也可以工作。因此,我无法下载源代码。

是否可以强制git始终使用http

编辑: my http_proxy配置正确。例如,这是可行的:

代码语言:javascript
复制
git clone http://android.git.kernel.org/platform/manifest.git

但这不是(errno=Connection超时):

代码语言:javascript
复制
git clone git://android.git.kernel.org/platform/manifest.git

所以this answer并没有真正帮到我。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-07-08 21:40:40

以下是重写GitHub默认协议的示例:

代码语言:javascript
复制
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匹配时,将使用最长的匹配。

票数 308
EN

Stack Overflow用户

发布于 2009-11-13 00:30:21

我不知道这个repo工具是如何使用Git的(如果你可以配置'repo‘来使用http协议),但是你可以尝试使用url.<base>.insteadOf配置变量来欺骗它(参见git-configgit-fetch手册页)。

你有没有尝试过使用core.gitProxy穿越防火墙,如果这是使用git协议的问题?

票数 35
EN

Stack Overflow用户

发布于 2011-02-16 06:48:40

我在递归地获取git存储库中的子模块时也遇到了同样的问题。我在一个疯狂的防火墙后面,它不允许在git端口上进行传出连接。子模块的一些子模块被编码为git://github.com/blah/blah.git。这杀死了我的子模块的递归群体。解决方法如下:

代码语言:javascript
复制
git config --global url."https://<GITUSERNAME>@".insteadOf git://

这将在所有子模块存储库URL中用https://<GITUSERNAME>@替换git://。您需要将<GITUSERNAME>替换为您自己的git用户名。还要注意,--global是必需的;仅将此配置添加到基本存储库目录是不起作用的。

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1722807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档