20.1 自动行结束符规范化

在项目根目录中创建一个 .gitattributes 文件,内容如下:

* text=auto

这将导致所有文本文件(由 Git 识别)在提交时使用 LF(换行符),但在检出时根据主机操作系统默认值进行处理。

这相当于推荐的 core.autocrlf 默认设置:

  • 在 Linux/macOS 上设置为 input
  • 在 Windows 上设置为 true

20.2 识别二进制文件

Git 很擅长识别二进制文件,但你可以明确指定哪些文件是二进制文件。在项目根目录中创建一个 .gitattributes 文件,内容如下:

*.png binary

binary 是一个内置的宏属性,相当于 -diff -merge -text。

20.3 预填充的 .gitattributes 模板

如果你不确定 .gitattributes 文件中应列出哪些规则,或者你只想为项目添加一些通常被接受的属性,你可以选择或生成一个 .gitattributes 文件:

https://gitattributes.io/

https://github.com/alexkaratarakis/gitattributes

20.4 禁用行结束符规范化

在项目根目录中创建一个 .gitattributes 文件,内容如下:

* -text

这相当于设置 core.autocrlf = false。