我在工作中使用
git-svn
,人们不断抱怨我犯了 LF
而不是 CRLF
。 (我们主要是一家 Windows 商店)。
据我所知,当
core.autocrlf
是 true
时,工作副本是 CRLF
,当 false
时,它是 LF
,当 input
时,它保持不变。我喜欢 autocrlf = true
作为一个概念,但我希望它在索引中默认为 CRLF
,因为这就是 get 致力于 SVN 的内容。
有没有办法设置索引使用哪一行结尾?
我见过
core.eol
,但这似乎也只设置了工作副本使用的内容,而不是索引。
您需要将名为
.gitattributes
的文件添加到项目的根目录中。这将迫使每个人都提交相同的行结尾。在您的情况下,当您想要强制 crlf
时,您将在 .gitattributes
: 中添加此行
* text eol=crlf
然后,您还可以规范化存储库中的每个文件一次,而不必再担心它:尝试使用 git filter-branch 修复行结尾,但没有运气
您也可以参考 github 行尾指南:https://help.github.com/articles/dealing-with-line-endings
我知道这个问题很旧,但以防万一有人仍在寻找答案......
首先,您必须确保全局和本地配置中的
core.autocrlf
是false
。
然后要强制 git 转换为 CRLF,您可以使用如下定义的 filter :
在您本地的
config
文件 (.gi