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、falsetrue:提交时,CRLF转换为LF;拉取时,LF转换为CRLFinput:提交时,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