我有一个可以从Windows和OS X访问的Git存储库,而且我知道已经包含一些带有CRLF行尾的文件。据我所知,有两种解决方法:
设置
core.autocrlf
到false
无处不在,按照此处的说明(在GitHub帮助页面上显示)将存储库转换为仅包含LF行尾,然后在Windows和OS X上将其设置
core.autocrlf
为。这样做的问题是,如果存储库中有任何二进制文件那:true
input
- 没有在gitattributes中正确标记为二进制,并且
- 碰巧同时包含CRLF和LF,
他们将被破坏。我的存储库可能包含此类文件。
那么,为什么不关闭Git的行尾转换呢?网路上有很多模糊的警告,提示您core.autocrlf
关闭电源会导致问题,但很少有具体的警告。到目前为止,我唯一发现的是kdiff3无法处理CRLF结尾(对我来说不是问题),并且某些文本编辑器存在行尾问题(对我来说也不是问题)。
该存储库是我公司内部的,因此我不必担心与具有不同autocrlf设置或行尾要求的人们共享它。
我不知道仅将行尾留为原样还有其他问题吗?
autocrlf
为false的原因。我正在寻找将其设置为true的理由。
autocrlf = input
:这似乎是两个极端之间的完美解决方案:您可以保持回购协议不受CRLF废话的影响,并且Windows本地开发人员可以使用他们想要的任何内容,而本地文件不会自动对其进行任何处理。(由于各种原因,他们可能会在本地希望使用LF,所以true
我认为这很糟糕。)我看不到使用会有什么缺点autocrlf = input
。
autocrlf
假的具体原因。