操作系统换行符:
Uinx/Linux:采用换行符LF表示下一行(LF:LineFeed,中文意思是换行);
Dos和Windows:采用回车+换行,CRLF表示下一行(CRLF:CarriageReturn LineFeed,中文意思是回车换行);
Mac OS:采用回车CR,表示下一行(CR:CarriageReturn,中文意思是回车)。

Git Bash中,通过以下命令来显示当前Git中采取哪种对待换行符的方式

$ git config core.autocrlf

三种结果:
true:Git会将你add的所有文件视为文本问价你,将结尾的CRLF转换为LF,而checkout时会再将文件的LF格式转为CRLF格式。
false:line endings不做任何改变,文本文件保持其原来的样子。
input:add时Git会把CRLF转换为LF,而check时仍旧为LF,所以Windows操作系统不建议设置此值。
即如下图:
这里写图片描述
修改autocrlf的命令

$ git config core.autocrlf true

“warning: LF will be replaced by CRLF in b.txt.”原因:
core.autocrlf被设置为true,checkout时,从仓库中checkout的文件中的lf会被换成crlf。Git doesn’t expect you to use unix-style LF under windows.

参考:
https://help.github.com/articles/dealing-with-line-endings/
https://blog.csdn.net/samdy1990/article/details/24314957
https://blog.csdn.net/gent__chen/article/details/49102583

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐