git push 操作报错

执行git push 命令报错
fatal: unable to access 'https://github.com/thomas9006/python_demo.git/': gnutls_handshake() failed: Error in the pull function.

备注:下面部分为转载的,作者原地址请点击此处

编译openwrt时候遇到此问题,原因貌似是gnutls的协议不支持,可以安装openssl来解决此问题:

下面是网上找到的解决方法:

Got reason of the problem, it was gnutls package. It's working weird behind a proxy. But openssl is working fine even in weak network. So workaround is that we should compile git with openssl. To do this, run the following commands:


  
  
  1. sudo apt-get update
  2. sudo apt- get install build-essential fakeroot dpkg-dev libcurl4-openssl-dev
  3. sudo apt- get build-dep git
  4. mkdir ~/git-openssl
  5. cd ~/git-openssl
  6. apt- get source git
  7. dpkg- source -x git_1 .7 .9 .5 -1.dsc
  8. cd git -1.7 .9 .5

(Remember to replace 1.7.9.5 with the actual version of git in your system.)

Then, edit debian/control file (run the command: gksu gedit debian/control) and replace all instances of libcurl4-gnutls-dev with libcurl4-openssl-dev.

Then build the package (if it's failing on test, you can remove the line TEST=test from the file debian/rules):

sudo dpkg-buildpackage -rfakeroot -b

  
  

Install new package:

i386: sudo dpkg -i ../git_1.7.9.5-1_i386.deb

x86_64: sudo dpkg -i ../git_1.7.9.5-1_amd64.deb

执行完成后重新编译即可

猜你喜欢

转载自blog.csdn.net/weixin_41919236/article/details/84889535
今日推荐