为git设置socks5代理
在某些时候,为了绕过网络封锁,在使用git时需要借助代理完成相关网络操作。
一个可用的VPN代理是先决条件
关于VPN的架设就不在此讨论了。
将repo的链接由ssh改为为https
已经使用https的repo跳过此步骤。
本教程需要通过https(http)的方式使用代理,所以如果现有的repo是使用ssh方式clone到本地的,需要修改其为https方式。
需要修改 repo_name/.git/config
中的url配置,将其中的git格式改为https格式。使用文本编辑工具将其打开进行修改,以github为例,需要将 [email protected]:user_name/repo_name.git
改为 https://github.com/user_name/repo_name.git
。
可以使用sed指令完成替换。
sed -i 's/[email protected]:/git:\/\/github.com\//' ./.git/config
设置git使用代理
将git配置为使用socks5代理,以socks5的ip和端口是 127.0.0.1:1080
为例。
git config --global http.proxy 'socks5://127.0.0.1:1080'
git config --global https.proxy 'socks5://127.0.0.1:1080'
将登录信息缓存下来
使用https时,在向远程仓库进行推送(git push)时会要求验证用户名和密码,由于每次都输入验证信息是十分繁琐的,考虑将验证信息缓存下来。
git config --global credential.helper cache
git默认会将密码缓存15分钟,在这期间进行的操作是不需要再次进行密码验证的,可以使用下面命令修改缓存的时长。
git config --global credential.helper "cache --timeout=3600"
将登陆信息保存下来
也可以考虑将用户名和密码永久保存下来,这样就不需要再次进行密码验证了。
注意: 使用这种配置会将明文的账户和密码保存在 ~/.git-cretidentials
文件中,所以仅推荐在个人电脑中使用这个配置。
git config --global credential.helper store
参考资料
(全文完)