转载:http://blog.51cto.com/zhanjun/2062872

背景

在各操作系统下,文本文件所使用的换行符是不一样的。UNIX/Linux 使用的是 0x0A(LF),但 DOS/Windows 一直使用 0x0D0A(CRLF)作为换行符。

问题

需要把Windows git下模式dos改为unix 。

方法命令

#在vim下面查看当前文本的模式类型,一般为dos,unix
:set ff

#提交时转换为LF,检出时转换为CRLF
git config --global core.autocrlf true   

#提交时转换为LF,检出时不转换(以上问题使用此命令可解决)
git config --global core.autocrlf input   

#提交检出均不转换
git config --global core.autocrlf false

Windows用CR LF来定义换行,Linux用LF。

CR全称是Carriage Return ,或者表示为\r, 意思是回车。

LF全称是Line Feed,它才是真正意义上的换行表示符。

如果用git diff的时候看到^M字符,就说明两个文件在换行符上有所差别。

下面简单的方法可以让git diff的时候忽略换行符的差异:

git config --global core.whitespace cr-at-eol

参考:

git处理换行符
git pro

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐