我想强制 git 在 Windows 下使用LFnot签出文件CR+LF。我检查了两个配置选项,但找不到正确的设置组合。
LF
CR+LF
我希望它将所有文件转换为LF并保留LF在文件上。
备注:我使用过autocrlf = input,但这只是在您提交文件时修复文件。我想强制它让他们使用LF.
autocrlf = input
可能我不太清楚:存储库已经在使用LF,但是使用 msysgit 签出的文件正在使用CR+LF,我想强制 msysgit 使用LF: forcing Unix line endings 来获取它们。
>git config --list | grep crlf core.autocrlf=input
OP在他的问题中补充说:
使用 msysgit 签出的文件正在使用CR+LF,我想强制 msysgit 使用它们LF
第一个简单的步骤仍然是在一个.gitattributes文件中:
.gitattributes
# 2010 *.txt -crlf # 2020 *.txt text eol=lf
(如孙子评论中所述,指的是行尾转换),以避免对正确的文件进行任何转换。.gitattributesCRLF``eol
CRLF``eol
而且我一直建议 git config --global core.autocrlf false禁用任何转换(这将适用于 所有 版本控制的文件)
git config --global core.autocrlf false
从 Git 2.16(2018年第一季度)开始,您可以立即git add --renormalize .应用这些.gitattributes设置。
git add --renormalize .
但是第二个更强大的步骤涉及一个gitattribute 过滤器驱动程序并添加一个涂抹步骤
每当您要更新工作树时,脚本只能针对您在 中指定的文件.gitattributes,强制LF eol您想要强制执行的任何其他格式选项。 如果 ” clear” 脚本没有做任何事情,您将(在提交之后)转换您的文件,完全应用您需要它们遵循的格式。
LF eol
clear