Git:何时使用eol、autocrlf、文本?

Git:何时使用eol、autocrlf、文本?,git,eol,core.autocrlf,Git,Eol,Core.autocrlf,我正在学习使用java、git和eclipse进行跨平台编程。我读了很多关于行尾的书,但我不知道该怎么用。声明非常简单:当core.eol设置为native时,您在windows中获得crlf,在类unix环境中获得lf,git在两者之间转换。这就是我想要的。但是,要求我将core.autocrlf设置为true。让我在windows上设置为true,在linux上设置为input。这会覆盖core.eol,我看不到它的用途。它增加了犯错误的额外程度 下一步应该使用*text=auto启动.gi

我正在学习使用java、git和eclipse进行跨平台编程。我读了很多关于行尾的书,但我不知道该怎么用。声明非常简单:当
core.eol
设置为
native
时,您在windows中获得crlf,在类unix环境中获得lf,git在两者之间转换。这就是我想要的。但是,要求我将
core.autocrlf设置为true
。让我在windows上设置为
true
,在linux上设置为
input
。这会覆盖core.eol,我看不到它的用途。它增加了犯错误的额外程度

下一步应该使用
*text=auto
启动
.gittributes
文件,并定义文本的确切含义。我很难理解的是,当
core.eol native
的设置似乎令人满意时,为什么要定义
autocrlf
.gittributes
?据我所知,Git处理所有转换,并且非常聪明,能够确定哪个文件是文本,哪个文件是二进制文件。如果我不信任Git的决策,我可以确切地指定哪些文件是文本,哪些不在
.gittributes
中。但是当
core.eol
native
时,我为什么要定义
*auto-true


我的问题:如果
core.eol native
不足以跨平台工作,为什么会这样?我显然遗漏了一些要点,但我在阅读文档时找不到,因为不同的文章和手册页说明了不同的内容。任何帮助都将不胜感激。

我想你会在这里得到所有信息:我参考了Tim Clem的文章,他只是没有解释为什么
core.autocrlf
在已经定义了
core.eol
的情况下是必要的。
autocrlf
是传统设置。由于遗留原因,它可以覆盖较新的机制。如果将其保留为默认值(
false
),则它将不会执行任何操作。啊,
core.eol native
core.autocrlf false
将在windows和linux上都具有所需的行为)。
.gittributes
文件中的
*text auto
的附加值是多少?使用
autocrlf=false
,您需要在
.gittributes
中配置行尾,以便进行行尾转换(这将遵循
eol
设置)。