【Git】Git行结束符CRLF、LF自动转换全局配置(Windows & macOS )

✨行结束符

在Windows中,行结束符使用回车符(CR,\r)和换行符(LF,\n)的组合表示。这个组合被称为回车换行(CRLF)。在Windows的文本文件中,每行的结束都由回车换行表示。

而在UNIX中,行结束符只使用换行符(LF,\n)表示。因此,在UNIX系统中,每行的结束只由换行符表示。


每次按键盘上的 return 时,会插入一个称为行结束符的不可见字符。 不同的操作系统处理行结束符的方式不同。

在使用 Git 和 GitHub 协作处理项目时,Git 可能产生意外结果,例如,您在 Windows 计算机上操作,而您的协作者是在 macOS 中做的更改。

您可以将 Git 配置为自动处理行结束符,以便与使用不同操作系统的人员有效地协作。


✨Git行结束符转换全局配置

配置项说明

git config core.autocrlf 命令用于更改 Git 处理行尾的方式。 它将采用单一参数。

  • true:Git会在文件提交时将行结束符自动转换为操作系统的默认换行符,并在文件签出时将其转换回来。

    即在Windows上签出的文件将使用回车换行(CRLF),而在Unix和Linux上签出的文件将只使用换行符(LF)。

  • false:Git不会自动转换行结束符。

  • input:Git会在文件提交时将行结束符转换为换行符(LF),并在文件签出时保持不变。

    即无论在哪个操作系统上签出文件,都将使用换行符(LF)。


Windows全局配置

签出文件时行结束符会转换为Windows行结束符(CRLF)

提交文件时行结束符会转换为Unix行结束符(LF)

git config --global core.autocrlf true
# Configure Git to ensure line endings in files you checkout are correct for Windows.
# For compatibility, line endings are converted to Unix style when you commit files.

macOS全局配置

签出文件时行结束符会转换为Unix行结束符(LF)

git config --global core.autocrlf input
# Configure Git to ensure line endings in files you checkout are correct for macOS

✨参考及引用

https://docs.github.com/zh/get-started/getting-started-with-git/configuring-git-to-handle-line-endings


⭐转载请注明出处

本文作者:双份浓缩馥芮白

原文链接:https://www.cnblogs.com/Flat-White/p/17428358.html

版权所有,如需转载请注明出处。

posted @ 2023-05-24 15:06  双份浓缩馥芮白  阅读(1633)  评论(0编辑  收藏  举报