本文主要是介绍warning: LF will be replaced by CRLF in,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
用gitee上瘾,今天翻电脑看到一个上古项目,还不是我写的,终于我也想起来自己是有github的人。我的上古学习笔记都在github,我就把这个项目跟他们传到一起,结果在我我git add -A
之后报错了,本来我以为不用管,结果发现不处理这个就没办法上传。
然后在stackoverflow找到了解决方法。
先说个简单的
只需要重新输入一遍git add -A
之后就好使了呢( ´・ω・)ノ(._.),如果不好使你在往下看。
然后是第二种方法
上边重输入不好使的话就只能改config文件了。
首先你需要找到你的config文件,
gitconfig可能的地址:
- git安装目录 git\etc\gitconfig
- C:\Users\username
- $XDG_CONFIG_HOME/git/config
- $HOME/.config/git/config and
然后将autocrlf = false
添加到gitconfig中保存即可。
注意: git config设置可以被gitattributes设置覆盖。
能解决的看到这里就可以啦,不能的话就去找找别的方法吧。
如果想知道原理,可以接着往下看。
符号
- CR:Carriage Return,对应ASCII中转义字符\r,表示回车
- LF:Linefeed,对应ASCII中转义字符\n,表示换行
- CRLF:Carriage Return & Linefeed,\r\n,表示回车并换行
Windows操作系统采用两个字符来进行换行,即CRLF;
Unix/Linux/Mac OS X操作系统采用单个字符LF来进行换行;
MacIntosh操作系统(即早期的Mac操作系统)采用单个字符CR来进行换行。
原因是存在符号转义问题
“warning: LF will be replaced by CRLF”
表示autocrlf=true,将在提交后丢失unix样式的LF(它将被windows样式的CRLF替换)。Git不希望在windows下使用unix风格的LF。
“warning: CRLF will be replaced by LF”
表示autocrlf=input,将在提交后丢失windows样式的CRLF(它将被unix样式的LF替换)。不要在windows下使用input。
什么是autocrlf
输入命令$ git config core.autocrlf
可能会出现三个值:
- true,意味着每次将文件添加到git认为是文本文件的git repo中时,它将所有CRLF行尾都变成LF,然后再将其存储在提交中。每当您git checkout某些内容时,所有文本文件都会自动将其LF行结尾转换为CRLF结尾。这允许跨平台开发使用不同行尾样式的项目,而不会造成很大的干扰,因为每个编辑者都会更改行尾样式,因为行尾样式始终是LF。
- false时,不会执行行尾转换,因此将按原样检查文本文件。只要您所有的开发人员都在Linux上或全部在Windows上,这通常都可以。
- input时,add时Git会把CRLF转换为LF,而check时仍旧为LF,Windows操作系统不建议使用。
对Windows用户来说
- 如果也打算在Unix下使用该项目(并且不愿意将编辑器/ IDE配置为使用Unix行尾),请使用core.autocrlf = true,
- 如果打算仅在Windows下使用此项目(或已将编辑器/ IDE配置为使用Unix行尾),请使用core.autocrlf = false,
- 除非有充分的理由(例如,如果在Windows下使用Unix实用程序或遇到makefile问题),请不要使用core.autocrlf = input
我是安安,程序媛什么的拉倒吧
这篇关于warning: LF will be replaced by CRLF in的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!