作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我背后有一个非常烦人的公司代理:
如何在这种情况下成功克隆一个github仓库?
最佳答案
第一个问题与 git 并没有真正的关系——它更像是能够实际配置代理的必要步骤。
Windows 计算机上的代理配置可以在控制面板 -> Internet 选项 -> 连接 -> LAN 设置中找到。
如果勾选“使用自动配置脚本”,首先需要下载指定的文件并打开。我得到一个包含小脚本的文件。它看起来像这样:
function FindProxyForURL(url, host)
{
var myip = myIpAddress();
var hostip = dnsResolve(host);
if (isInNet(hostip,"192.168.0.0","255.255.0.0"))
return "DIRECT";
if (isInNet(hostip,"xyz.abc.0.0","255.255.0.0"))
return PROXY special-proxy:8080;
return "PROXY default-proxy:8080";
}
因此,在我的例子中,要使用的代理是 default-proxy:8080
.
要真正让 git 使用代理,我必须使用 git config --global http.proxy http://<domain>\<username>:<password>@default-proxy:8080
.
这样做的明显缺点是您的域密码将以纯文本形式存储在硬盘上。
其他设置不起作用,尽管不同的来源声称它们应该起作用。那些是:
https_proxy
或 http_proxy
至 http://<domain>\<username>:<password>@default-proxy:8080
git config --global https.proxy http://<domain>\<username>:<password>@default-proxy:8080
http_proxy
至 http://<domain>\<username>:<password>@default-proxy:8080
要解决第三个问题,最简单的方法是通过设置环境变量来忽略证书错误 - 代理返回的证书无论如何都不值钱:
set GIT_SSL_NO_VERIFY=true
要不在 git 配置中存储明文密码,您可以使用本地代理,例如cntlm .
它允许存储密码散列。要获取哈希,请使用此命令:
cntlm.exe -H -d <domain> -u <username>
之后,系统会提示您输入密码。结果将是三个哈希值的列表,其中 PassNTLMv2
在这种情况下最有可能是相关的。替换 Password
cntlm.ini 中的行与输出中的行,包括 PassNTLMv2
部分。
显然,现在您必须配置 git 来使用这个本地代理。
关于windows - 如何从公司代理后面从 github 克隆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15157685/
我是一名优秀的程序员,十分优秀!