Git行结束符CRLF、LF自动转换全局配置(Windows & macOS )
1.行结束符
在Windows中,行结束符使用回车符(CR,\r)和换行符(LF,\n)的组合表示。这个组合被称为回车换行(CRLF)。在Windows的文本文件中,每行的结束都由回车换行表示。
而在UNIX中,行结束符只使用换行符(LF,\n)表示。因此,在UNIX系统中,每行的结束只由换行符表示。
每次按键盘上的 return 时,会插入一个称为行结束符的不可见字符。 不同的操作系统处理行结束符的方式不同。
在使用 Git 和 GitHub 协作处理项目时,Git 可能产生意外结果,例如,你在 Windows 计算机上操作,而你的协作者是在 macOS 中做的更改。
你可以将 Git 配置为自动处理行结束符,以便与使用不同操作系统的人员有效地协作。
2.Git行结束符转换全局配置
2.1.配置项说明
git config core.autocrlf 命令用于更改 Git 处理行尾的方式。 它将采用单一参数。
- true:Git会在文件提交时将行结束符自动转换为操作系统的默认换行符,并在文件签出时将其转换回来。即在Windows上签出的文件将使用回车换行(CRLF),而在Unix和Linux上签出的文件将只使用换行符(LF)。
- false:Git不会自动转换行结束符。
- input:Git会在文件提交时将行结束符转换为换行符(LF),并在文件签出时保持不变。
即无论在哪个操作系统上签出文件,都将使用换行符(LF)。
2.2.Windows全局配置
签出文件时行结束符会转换为Windows行结束符(CRLF)
提交文件时行结束符会转换为Unix行结束符(LF)
1 | git config --global core.autocrlf true |
2.3.MacOS全局配置
签出文件时行结束符会转换为Unix行结束符(LF)
1 | git config --global core.autocrlf input |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Khalid博客!