git一些报错解决方法[每一项都亲测,保证不踩坑]
目录
最近工作中版本管理从svn切换到git,遇到过一些问题,在这里把遇到的问题记下来,希望能够对大家有帮助,每个问题和解决方法都是本人亲测实用,如有问题,欢迎讨论。
error: RPC failed; curl 56 GnuTLS recv error (-110): The TLS connection was non-properly terminated.
这个问题折腾了我挺长时间,在网上看到很多解决方案,但是百分之九十以上的都是坑,一点用没有,可能是对我来说没有用,最终找到一个靠谱的解决方案,亲测可用,希望减少大家踩坑。
1. 首先安装一些必要的环境和依赖
mkdir ~/git-rectify
如果想隐藏目录,不想在/home下可见,也可以把目录名改为 .git-rectify
mkdir ~/.git-rectify
3. 进入路径,获取git的源文件
cd ~/git-rectify
apt-get source git
4. 安装依赖
sudo apt-get build-dep git
5. 安装libcurl的依赖文件
sudo apt-get install libcurl4-openssl-dev
6. 进入目录(原链接中这里有错误,不需要解压步骤)
cd git-2.17.1/
路径名后面2.*是版本号,需要看一下自己的版本
7. 修改文件内容,需要修改两个文件
vim ./debian/control # 把libcurl4-gnutls-dev 修改为 libcurl4-openssl-dev
vim ./debian/rules # 把TEST=test整行删除
8. 编译和构建安装包
sudo dpkg-buildpackage -rfakeroot -b
9. 退回上一级目录,安装编译好的安装包
cd ..
sudo dpkg -i git_2.17.1-1ubuntu0.4_amd64.deb
完成以上步骤即可解决error: RPC failed; curl 56 GnuTLS recv error (-110): The TLS connection was non-properly terminated问题。
server certificate verification failed
先贴上找到解决方案的连接
用git进行clone时提示“服务器验证失败”,在命令行下输入:
export GIT_SSL_NO_VERIFY=1
这样就可以了,但是这样每次启动shell又失效了,不是永久性的,如果想永久有效,可以把命令加入bashrc中:
vi ~/.bashrc
# 在空白处添加
export GIT_SSL_NO_VERIFY=1
# 保存退出,重新加载
source ~/.bashrc
本文后续会持续更新,不断加入不同问题的解决方案,如果感兴趣可以关注下方微信公众号或头条号,感谢支持,可以访问链接查看详细介绍点击这里