我在工作时使用git-svn
,人们不断抱怨我提交的是LF
而不是CRLF
。 (我们主要是Windows商店)。
据我所知,当core.autocrlf
为true
时,工作副本为CRLF
,false
时为LF
,何时为{{1}它未受影响。我喜欢input
作为一个概念,但我希望它会在索引中默认为autocrlf = true
,因为这是我们提交给SVN的内容。
有没有办法设置索引结束的行?
我见过CRLF
,但这似乎只设置了工作副本使用的内容,而不是索引。
答案 0 :(得分:2)
您需要将名为.gitattributes
的文件添加到项目的根目录中。这将迫使每个人提交同一行结尾。在您的情况下,如果您想强制crlf
,则会在.gitattributes
中添加此行:
* text eol=crlf
然后,您还可以将回购邮件中的每个文件标准化一次,再也不用担心它了:Trying to fix line-endings with git filter-branch, but having no luck
您还可以在行结尾处参考github指南:https://help.github.com/articles/dealing-with-line-endings
答案 1 :(得分:0)
事实证明git-svn
使用SVN的svn:eol-style
属性来决定如何存储行结尾。如果你进入纯SVN结账&添加svn:eol-style
设置为native
,Git将使用CRLF for Windows和LF for Linux / OSX。
我也有这些设置:
$ git config core.autocrlf false
$ git config core.safecrlf true
我的.gitattributes
文件中没有任何内容。