git代理配置
命令行模式下配置
git config --global https.proxy https://proxyuser:proxypassword@ip/域名:port
git config --global http.proxy http://proxyuser:proxypassword@ip/域名:port
示例:
假设某人在百度工作,公司代理服务器是(proxy.baidu.com),端口是(8080),代理配置如下
1、代理服务器需要鉴权配置
git config --global https.proxy https://username:password@proxy.baidu.com:8080
2、代理服务器不需要鉴权配置
git config --global https.proxy https://proxy.baidu.com:8080
密码中特殊字符处理
如果密码中有@等特殊字符,会出错,比如
git config --global http.proxy http://username:abc@123@proxy.baidu.com:8080
解析时会从第一个@解析,提示@123@proxyhk.huawei.com找不到,此时要对其中的特殊符号进行处理,使用百分比编码(Percent-encoding)对特殊字符进行转换,转换列表如下:
! --> %21 # --> %23 $ --> %24 & --> %26 ' --> %27
( --> %28 ) --> %29 * --> %2A + --> %2B , --> %2C
/ --> %2F : --> %3A ; --> %3B = --> %3D ? --> %3F
@ --> %40 [ --> %5B ] --> %5D
参考资料:http://stackoverflow.com/questions/6172719/escape-character-in-git-proxy-password
如以上示例中的配置,可以替换为:
git config --global http.proxy http://username:abc%40123@proxy.baidu.com:8080
配置成功后,主要的功能就打通了,接下来就可以克隆github的代码了。
常见错误
1、克隆失败,提示:server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
解决方法:
export GIT_SSL_NO_VERIFY=1
git config --global http.sslverify false
2、提示:GnuTLS recv error (-9): A TLS packet with unexpected length was received
error: RPC failed; result=56
解决方法:
配置以下三条命令
export GIT_TRACE_PACKET=1
export GIT_TRACE=1
export GIT_CURL_VERBOSE=1
3、以上命令还不生效,则祭出大杀器
此问题为git中依赖gnutls的bug,需要对将git中的gnutls强制替换为openssl,重新编译即可
解决方案:http://askubuntu.com/questions/186847/error-gnutls-handshake-failed-when-connecting-to-https-servers/187199#187199
作者:泡芙掠夺者
链接:https://www.jianshu.com/p/27365d2542d7
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
git代理配置的更多相关文章
- git 代理配置方式
		
# 设置ss git config --global http.proxy 'socks5://127.0.0.1:1080' git config --global https.proxy 'soc ...
 - 奇怪的git代理超时问题
		
曾几何时在公司用代理上过网,后来在家里使用git訪问csdn code和github就出现代理超时的问题,例如以下: $ git clone https://github.com/bumptech/g ...
 - nginx常用代理配置
		
因为业务系统需求,需要对web服务作nginx代理,在不断的尝试过程中,简单总结了一下常见的nginx代理配置. 1. 最简反向代理配置 在http节点下,使用upstream配置服务地址,使用ser ...
 - 小丁带你走进git世界一-git简单配置
		
小丁带你走进git世界一-git简单配置 1.github的简单配置 配置提交代码的信息,例如是谁提交的代码之类的. git config –global user.name BattleHeaer ...
 - niginx代理配置
		
常用关键词:rewrite.proxy_pass location ^~ /address/ { proxy_set_header Host xx.sohu.com; #设置header proxy_ ...
 - apache  反向代理配置
		
配置前资料检查: 1.可以使用的apache 安装apache服务:打开cmd , 在apache的bin目录下执行以下命令 httpd -k install -n apache2.2 其中&q ...
 - nginx反向代理配置及优化
		
nginx反向代理配置及优化前言: 由于服务器apache抗不住目前的并发.加上前端squid配置后,问题依然无法解决.而页面程序大部分是动态.无法使用fastcgi来处理.因此想使用nginx做为反 ...
 - git的配置
		
git的配置: Git 提供了一个叫做 git config 的工具,专门用来配置或读取相应的工作环境变量. 这些环境变量,决定了 Git 在各个环节的具体工作方式和行为.这些变量可以存放在以下三个不 ...
 - git无法clone远程代码库及git代理设置
		
git作为一个版本管理神器,日常工作中自然也就少不了了:特别是Android开发,github和google是逃不过的了.然而很多时候需要用到git克隆远程的代码库,众所周知的原因google.and ...
 
随机推荐
- DD常用命令组合
			
管理一个系统经常需要备份磁盘数据,那么在UNIX/Linux系统中如何备份整个分区或整个硬盘的数据呢? dd命令就可以很方便实现这个功能. 1.把一个分区复制到一个文件中 dd if=/dev/sda ...
 - Can peel peel solve pesticide problem
			
Can peel peel solve pesticide problem? Middle peasants medicinal modern agriculture more and more, t ...
 - Ruby中方法的设计理念
			
Ruby中的方法命名遵从与局部变量相同的规则和约定.这是一种设计理念:方法并不因其自身作为方法而被人关注,而是简单地作为提供值的表达式融入到程序的结构中.
 - cdh集群认证命令
			
1.集群认证命令 kinit -kt csliyb.keytab csliyb 2.查看认证有效期命令 klist命令 3.延长认证有效期命令 kinit -R 4.手动认证失效命令 kdestroy
 - nginx——优化 Nginx 连接超时时间
			
1. 什么是连接超时 (1) 举个例子,某饭店请了服务员招待顾客,但是现在饭店不景气,因此要解雇掉一些服务员,这里的服务员就相当于 Nginx 服务建立的连接 (2) 当服务器建立的连接没有接收处理请 ...
 - centos 7 安装
			
一直很喜欢centos,5.6.7三个大版本都有用过. 这次重新在笔记本上安装centos 7. 先是下载了最新的unetbootin,用它来制作了U盘安装.unetbootin很好用,可以自动下载然 ...
 - python基础—购物车小程序练习
			
要求:顾客可以根据商品编号购买工资允许内的商品,购买完成后,打印购买列表. def main(): salary = input("what is your salary ?") ...
 - L2-013 红色警报 (25 分)
			
L2-013 红色警报 (25 分) 战争中保持各个城市间的连通性非常重要.本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报.注意:若该国本来就不完全 ...
 - CodeBlocks无法调试的解决方法
			
闲话: 万万没想到我也会写这个东西.一开始软件工程课的时候老师要求我们写博客园,一直都是被动地在写博客.刚刚在重温C语言的时候发现的各种各样问题觉得还是写下来比较好,一旦以后自己又忘了呢……(摊手 顺 ...
 - 网络请求————ProxyHandler实现代理ip
			
from urllib import request #这个是没有使用代理的 # resp = request.urlopen('http://httpbin.org/ip') # print(res ...