Git .gitattributes 使用指北

.gitattributes 文件在 Git 仓库中用于定义各种属性,以指定 Git 如何处理仓库中的文件。
这个文件可以用于多种用途,包括但不限于以下几种:

1. 行尾转换 (End-of-Line Conversion)

指定文件的行尾风格,例如,强制在 Windows 和 UNIX 系统之间一致地使用 LF 或 CRLF。

*.txt text eol=lf
*.bat text eol=crlf

2. 合并策略 (Merge Strategies)

为特定文件或路径指定合并策略,比如使用文本方式合并或使用特定的合并驱动。

*.png merge=theirs

3. 大文件存储 (Large File Storage, LFS)

将大文件如视频、音频或大型二进制文件交给 Git LFS 管理。

*.mp4 filter=lfs diff=lfs merge=lfs -text

4. 导出忽略 (Export Ignore)

指定在使用 git archive 时应该忽略的文件。

*.log export-ignore

5. 语言统计 (Language Statistics)

控制 git 命令如何统计语言使用情况,可以用于排除某些文件。

*.md linguist-documentation

6. 差异展示 (Diff)

指定文件的差异展示方式,如是否应该被 Git 识别为文本,并如何显示差异。

*.jpg binary
*.html diff=html

7. 禁用压缩 (Disable Compression)

禁用对特定文件的 Git 压缩。

*.jpg -filter

8. 自定义过滤器 (Custom Filters)

为文件设置自定义的清理(clean)和还原(smudge)过滤器。

*.json filter=jsonFilter

9. 核对属性 (Check Attributes)

在提交前检查文件是否符合特定的属性要求。

*.py check=python

10. 文本属性 (Text Attributes)

指定文件是否应被视为文本,对行尾进行规范化,或者被视为二进制文件。

*.txt text
*.bin binary

–EOF–

王小兵 /
Published under (CC) BY-NC-SA in categories git  tagged with git