菜鸟笔记
提升您的技术认知

Git 跨平台协作

最常见的就是Linux和Win换行符的不同,在Linux下换行符是\n,但在Win下换行符是\r\n。也就是说所有的Linux下的文件如果直接拷贝到Win上,则所有的行都变成了一行;Win下的文件到Linux下就变成了每一行后边都有一个^M。

Git将此考虑在内,有一个选项可以在Git检出代码库上的代码时,如果是在WIn上,那么自动将\n变成\r\n。然后在提交代码时,在将\r\n转换成\n。这样代码库中的换行符始终是\n。其它人在将代码库中的代码检出到Linux下时,就不用做转换了。

先查看一下自己Git的配置情况:

git config --global core.autocrlf

如果为true,就代表是提交时转换为\n,检出时转换为\r\n。

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

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

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

SafeCRLF
#拒绝提交包含混合换行符的文件
git config --global core.safecrlf true   

#允许提交包含混合换行符的文件
git config --global core.safecrlf false   

#提交包含混合换行符的文件时给出警告
git config --global core.safecrlf warn