Git中的多平台开发和autocrlf选项



我目前正在使用Git,在我的Windows PC上一切都很好。我的autocrlf设置为true,根据这一点,这是正确的

https://help.github.com/articles/dealing-with-line-endings

事实上,我没有任何抱怨,它似乎运行得很好,偶尔会有一些警告,但我通常会忽略它们。

但这到底有什么作用呢?这是不是在拉时增加CR/LF,然后在推时将CRLF改为LF?

所以在回购中"总是"有带有"ONLY"LF而不是CRLF的文件?

我即将用MAC OS X和Linux在同一个存储库中开始开发,现在这是我感到困惑的地方,根据GitHub的说法,它指出,对于Windows,将Autocrlf设置为TRUE。

但是在Linux/MAC OS X上,我也应该这样做吗?我知道Linux不使用CRLF。

更新

我看到了关于Stack Overflow的各种评论,但我当然使用了3种类型的系统,所以我想这就是为什么这里推荐它的原因?

Linux也是推荐的吗?但它永远不会成为crlf。

所以我想情况是这样的,总是保持原样,以防万一?

在OS X上也将autocrlf设置为true。它会做正确的事情。(事实上,你也可以在Linux上设置它,它会再次做正确的事情。)


但这到底有什么作用呢?这是不是在拉时增加CR/LF,然后在推时将CRLF改为LF?

是的。当文件在本地签出时,它会将文件转换为本地本机行尾格式,然后在提交时,它们会自动转换回规范的行尾格式(LF)。

这可能有助于回答您的一些问题。

基本上,只有当您使用的编辑器无法正确处理行尾,或者抱怨很多(如Visual Studio)时,这才是真正重要的。

最新更新