Git常见问题及解决方法
一、证书检查错误
1、错误提示
fatal: unable to access 'git地址': SSL certificate problem: self signed certificate
2、错误原因
git检查证书不是可信任的或者不是权威机构发布,为防止出现替换证书攻击
3、解决方法
# 不对证书安全进行检查
git config --global http.sslVerify false
参考:
Git 问题:SSL certificate problem: self signed certificate
二、换行符号错误
1、错误提示
warning: LF will be replaced by CRLF in readme.txt.
2、错误原因
- Dos和Windows平台:使用回车(CR)和(LF)两个字符换行,即(\r\n)。
- Mac和Linux平台:只使用换行(LF)一个字符来结束一行,即(\n)。
- 最早Mac每行结尾回车(CR)。
3、影响
- Unix/Mac系统下的文件在Windows里打开的话,所有文件会被一行。
- 在Windows系统下的文件在Unix/Mac下打 开话,在每行的结尾可能会多出一个^M符号。
- Linux保存的文件在Windows上用记事本看的话会出现黑点。
4、解决办法
-
提交代码时自动把回车(CR)和换行(LF)转换成换行(LF),在检出代码时把换行(LF)转换成回车(CR)和换行(LF)。
# 提交时转换为LF,检出时转换为CRLF git config --global core.autocrlf true
-
如果使用以换行(LF)作为行结束符的Linux和Mac,你不需要Git在检出文件时进行自动的转换。当一个以回车(CR)和换行(LF)作为行结束符的文件不小心被引入时把回车(CR)和换行(LF)转换成换行(LF),设置Git提交时把回车(CR)和换行(LF)转换成换行(LF),检出时不转换。这样在Windows上的检出文件中会保留回车(CR)和换行(LF),而在Mac和Linux上,以及版本库中会保留换行。
# 提交时转换为LF,检出时不转换 git config --global core.autocrlf input
-
如果只是在Windows上开发并且只运行在Windows系统中可以取消转换把把回车保存在版本库中。
# 提交检出均不转换 git config --global core.autocrlf false
参考