我想让git使用我仓库中的.gitattributes
文件对带有LF行尾的 text 文件进行规范化。
但是,我尝试过* text=auto
,该操作会在Windows上检出CRLF行尾的文件,并在将更改添加到Git后将它们转换回LF。
我也尝试过* eol=lf
,但这也为非文本文件(例如.jar
文件)设置了行尾。
我尝试将两个行都添加到同一行(* text=auto eol=lf
),但这和添加* eol=lf
一样。
是否有一种方法可以使用.gitattributes
来仅对文本文件的行尾进行规范化,而不会在Windows平台上将它们检出为LF?
答案 0 :(得分:0)
Git有一些启发式的方法来猜测文本文件是什么,但是由于它并不总是能够正确地猜测,因此您可以指定要影响的文件类型。例如,如果您正在处理Java项目,则可以编写以下内容
n >= 0
这将导致在Windows上使用CRLF和在Unix上使用LF检出Java文件,同时在存储库中存储LF。如果要在所有系统上使用LF,请编写如下内容:
*.java text
*.jar -text
指定*.java eol=lf
*.jar -text
意味着您不希望这些文件受-text
的影响,该选项使Windows系统看到CRLF并将LF保留在存储库中。您可以组合使用多种类型的行来影响不同的文件。