我想强制 git 在 Windows 下使用 LF
而不是 CR+LF
checkout 文件。我检查了两个配置选项,但找不到正确的设置组合。
我希望它将所有文件转换为 LF
并将 LF
保留在文件中。
备注:我使用了 autocrlf = input
但这只是在您提交文件时修复文件。我想强制它使用 LF
来获取它们。
也许我不是那么清楚了:库已经使用LF
但文件 checkout 使用msysgit使用CR+LF
,我想迫使msysgit与LF
让他们:迫使Unix行结尾。
>git config --list | grep crlf
core.autocrlf=input
最佳答案
OP在他的问题中补充道:
第一个简单的步骤仍然是在 .gitattributes
文件中:
# 2010
*.txt -crlf
# 2020
*.txt text eol=lf
(如 noted in the comments 由 grandchild ,引用
.gitattributes
End-of-line conversion ),以避免任何 CRLF
转换为正确的 0x214138 文件。和 I have always recommended
eol
禁用任何转换(这将适用于所有版本化文件)见 Best practices for cross platform git config?
Since Git 2.16(2018 年第一季度),您可以使用
git config --global core.autocrlf false
立即应用那些 git add --renormalize .
设置。但是第二个更强大的步骤涉及 gitattribute filter driver 并添加一个涂抹步骤
每当您更新工作树时,脚本只能针对您在
.gitattributes
中指定的文件,强制使用 .gitattributes
和您想要强制执行的任何其他格式选项。如果“
LF eol
”脚本没有做任何事情,您将(提交后)转换文件,完全应用您需要它们遵循的格式。关于git - 如何强制 git 在 windows 下使用 LF 而不是 CR+LF?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2517190/