Git - CURL 换行问题
CRLF
CRLF:Carriage-Return Line-Feed 回车换行
CRLF
:回车换行。
CR
:回车,使用\r
符号表示,ASCII 码为 13,十六进制代码为 0x0D;LF
:换行,使用\n
符号表示,ASCII 码为 10,十六进制代码为 0x0A。
不同系统下的换行符
- Windows/DOS:
CR/LF
- Unix/Linx:
LF
- Mac OS:
CR
所以,Windows 系统上换行在文本文件中是使用 0d 0a 两个字节表示,而在 Unix/Linx或苹果系统上换行则是使用一个字节 0a 或 0d 表示。Unix/Linux/Mac系统下的文件在Windows里打开的话(使用Windows自带记事本),会出现换行丢失,所有文字会变成一行,整个文本会乱成一团。Windows系统下的文件在Unix/Linux/Mac里打开的话,在每行的结尾可能会多出一个^M符号。
Git CRLF
Git 在默认情况下,提交时会将 CRLF
转换为 LF
,在拉取时将 LF
转换成 CRLF
。我们可以通过设置 autocrlf
和 safecrlf
来处理 CRLF
的转换。
autocrlf
属性:true
、input
、false
true
:提交时,CRLF
转换为LF
;拉取时,LF
转换为CRLF
input
:提交时,CRLF
转换为LF
;拉取时,不进行转换。false
:提交拉取时都不转换。查看当前项目的
autocrlf
属性:1
git config core.autocrlf
查看
autocrlf
的全局属性:1
git config --global core.autocrlf
设置当前项目的
autocrlf
属性:1
git config core.autocrlf true/input/false
设置
autocrlf
的全局属性:1
git config --global core.autocrlf true/input/false
savecrlf
:true
、false
、warn
拒绝提交包含混合换行符的文件
1
git config --global core.safecrlf true
允许提交包含混合换行符的文件
1
git config --global core.safecrlf false
提交包含混合换行符的文件时给出警告
1
git config --global core.safecrlf warn