我想强制 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 commentsgrandchild ,引用 .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 并添加一个涂抹步骤

git - 如何强制 git 在 windows 下使用 LF 而不是 CR+LF?-LMLPHP

每当您更新工作树时,脚本只能针对您在 .gitattributes 中指定的文件,强制使用 .gitattributes 和您想要强制执行的任何其他格式选项。
如果“LF eol ”脚本没有做任何事情,您将(提交后)转换文件,完全应用您需要它们遵循的格式。

关于git - 如何强制 git 在 windows 下使用 LF 而不是 CR+LF?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2517190/

10-13 06:36