2013-10-09 61 views
0

我正在尝试提交一个带有CRLF行结尾的文件,并让另一个人检查出它,还有CRLF行尾。如何将LF转换为CRLF结账

我得在.gitattributes如下:

* text=auto 

当我添加文件,CRLF结尾,我得到以下信息:

warning: CRLF will be replaced by LF in test.cs 
The file will have its original line endings in your working directory. 

如果我克隆库,文件获取用LF线结尾克隆。我可以通过设置*.cs text eol=crlf来覆盖它,但这不是很好的支持,因为如果对于每种文件类型都必须这样做。

我误会了,还是不应该text=auto把LF换回CRLF?这是一个错误?

有没有办法让git转换行结束?或者,最好不要改变它们?我们正在与所有CRLF文件工作/平台因此,最好的git只是不会触摸到EOL

回答

1

与其说

* text=auto 
.gitattributes

的,说

* text eol=crlf 

报价Dealing with line endings

text eol = crlf

此设置告诉git规范化提交时指定的文件,并且 总是在结帐时将它们转换为CRLF。对于文件 ,您应该使用它来保留CRLF结尾,即使在OSX或Linux上也是如此。

+0

如果我这样做,我必须要么做每个扩展名,要么标记二进制文件,也是每个扩展名。这就是我现在正在做的事情,但我不喜欢它,因为另一个开发人员可以添加我没有考虑过的文件类型并遇到问题。你能评论我发布的更新吗?“我误解了......”吗?在我看来,'text = auto'旨在将LF退回到CRLF,如果您在适当的平台上签出。 – Turch

+0

@Turch:git不会将'text'设置应用于二进制文件。 –

+0

@EdwardThomson,但'*'告诉git将'text eol = crlf'应用于所有文件 - 所以我必须告诉它哪些是二进制的,例如。 '* .dll二进制文件' – Turch

相关问题