gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 01:12:51 24 4
gpt4 key购买 nike

我想强制 Git 在 Windows 下使用 LF 而不是 CR+LF check out 文件。
我检查了两个配置选项,但无法找到正确的设置组合。

我想将所有文件转换为具有 LF 换行符并在文件中保留 LF

备注:我使用了 autocrlf = input 但这只会在您提交文件时修复文件。
我想强制它让他们使用 LF

可能我不是很清楚:存储库已经在使用 LF 但 check out 的文件使用 Git for Windows正在使用 CR+LF我想强制 Git 使用 LF 获取它们:强制 Unix 行结尾

$ git config --list | grep crlf
core.autocrlf=input

最佳答案

在 Windows 中获得 LF 结尾的正确方法是首先将 core.autocrlf 设置为 false:

git config --global core.autocrlf false

如果您使用的是 msysgit,则需要执行此操作,因为它在其系统设置中将其设置为 true

现在 git 不会做任何行结束规范化。如果您希望您 checkin 的文件被规范化,请执行以下操作:在您的 .gitattributes 中为所有文件设置 text=auto:

* text=auto

并将core.eol设置为lf:

git config --global core.eol lf

现在您还可以通过运行将单个存储库切换到 crlf(在工作目录中!)

git config core.eol crlf

完成配置后,您可能希望 git 规范化 repo 中的所有文件。为此,请转到您的存储库的根目录并运行以下命令:

git rm --cached -rf .
git diff --cached --name-only -z | xargs -n 50 -0 git add -f

如果您现在希望 git 也规范化您的工作目录中的文件,请运行以下命令:

git ls-files -z | xargs -0 rm
git checkout .

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

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com