如何在所有克隆/机器上禁用Git行尾(CRLF到LF)?
正如人们可以从 其他 职位上收集的一样,Git的行尾标准化有其优点和缺点。 我有一个特定于Windows的项目,我认为最好的做法是完全禁用行结束标准化。 也就是说,我想保留所有换行符(大多数是CRLF ),而不是让git将它们标准化为LF ,并且只在后台执行,我希望这种改变影响到所有机器上所有存储库的克隆。 问题是最有效的方法。 
 大多数关于Git行结束标准化的讨论都是以core.autocrlf来说的,我可以通过设置core.autocrlf=false来实现我的目标。 但是,这是一个git-config设置,我相信必须在每台机器上分别设置。 如果这是真的,那似乎很容易出错,特别是因为msysgit安装程序引导一个进入设置core.autocrlf=true 。 
 避免在每台机器上分别设置core.autocrlf的最好办法似乎是将一个.gitattributes文件检查到包含单行 
 * -text 
或者,如果你有一个老版本的Git的话
 * -crlf 
 这告诉Git,对于所有的path(因此* ),不应该尝试结束行标准化。 据我所知,这不应该有任何其他的副作用。 特别是,它不应该改变如何生成差异(这有单独的属性diff / -diff )或如何处理合并(这有一个单独的属性merge / -merge )。 
欲了解更多详情,我build议这些资源:
-   gitattributes文档( git help attributes或在线副本 ),详细描述了行尾标准化的工作原理以及不同属性的特殊效果。 (可能最相关的是text,crlf,diff,merge和binary。)
-   Git邮件列表线程是“文本”属性只是为了指定行结束标准化的行为,还是它有更广泛的影响?  (2012年3月30日),其中扩展了不同属性的含义,并阐明了 – -text并不仅仅意味着“这是一个二进制文件”。