我正在学习用java,git和eclipse编写跨平台程序。我读了很多关于行结尾但我不确定如何使用什么。 The article of Tim Clem声明非常简单:当core.eol
设置为native
时,你会在windows中得到crlf,如果在unix环境中得到crf,git会在两者之间进行转换。这就是我想要的。但是,this article要求我设置core.autocrlf true
。 Another article让我在Windows上将其设置为true
,在linux上设置为input
。 According to the man pages这会覆盖core.eol,我看不到它的使用。它增加了额外的错误。
下一个应该使用.gitattributes
启动* text=auto
文件并定义文本的确切内容。我无法理解的是,当core.eol native
的设置似乎令人满意时,我为什么要定义autocrlf
或.gitattributes
?据我所知,Git处理所有转换,并且足够聪明地确定哪个文件是文本,哪个是二进制文件。如果我不信任Git的决策,我可以准确指定哪些文件是文本,哪些文件不在.gitattributes
。但是,当* auto true
为core.eol
时,我为什么要定义native
?
我的问题:如果core.eol native
不足以跨平台工作,为什么会这样?我显然错过了一些观点,但是我无法通过阅读文档找到它,因为不同的文章和手册页都说不同的东西。任何帮助将不胜感激。