【发布时间】:2011-01-31 19:27:57
【问题描述】:
我想强制 git 在 Windows 下仅使用 LF 而不是 CR+LF 签出文件。我检查了两个配置选项,但找不到正确的设置组合。
我希望它将所有文件转换为LF 并在文件上保留LF。
备注:我使用了autocrlf = input,但这只是在您提交文件时修复文件。我想强迫他们使用LF。
可能我不太清楚:存储库已经在使用LF,但使用 msysgit 签出的文件正在使用CR+LF,我想强制 msysgit 使用LF 获取它们:强制 Unix行尾。
>git config --list | grep crlf
core.autocrlf=input
【问题讨论】:
-
autocrlf=input是正确的选项。当然,它不会保护您免受存储库中真正具有cr+lf的文件的影响,或者在将它们添加到 git 之前在另一个工具中使用cr+lf创建文件。您遇到了哪些问题无法解决? -
存储库中的文件已经只使用了
LF,但是当我在 Windows 下获取它们时,msysgit 会将它们转换为CR+LF。 -
你的配置一定有问题;我刚刚在我的 msysgit 安装上对此进行了测试。将
autocrlf设置为input,git 将单独留下lf换行符。你能发布git config的输出吗? -
在这种情况下,我建议你记录一个错误;最好指向一个测试存储库,该存储库会显示您的问题并包括重现的步骤,因为您看到的行为肯定是错误的(但我无法重现它)。
-
一个小技巧是还要确保您在您认为的“git”上运行 git 命令。例如你可能在 windows 上安装了 git,在 cygwin 上安装了 git,所以请确保你设置了正确的 git config。