使用 Git 时如何关闭 “LF will be replaced by CRLF” 警告?

在Git中,当使用autocrlf = true标志时,当行结束符被更改时仍然会给出警告。

我理解警告的目的,以及如何关闭行结束标志,但如何关闭警告本身呢?

66355 次浏览

你正在寻找core.whitespace选项(详见git config --help)。

你可以这样设置这个选项:

$ git config core.whitespace cr-at-eol

你应该使用core.autocrlf inputcore.eol input。或者干脆不让git用autocrlf false改变行结束符,用core.whitespace cr-at-eol去掉差分中的crlfs高亮显示。

希望这能有所帮助

你可以用。关闭警告

git config --global core.safecrlf false

(这只会关闭警告,而不是功能本身。)

我是这样用的:

将当前文件保存在Git中,这样您的工作就不会丢失。

git add . -u
git commit -m "Saving files before refreshing line endings"

从Git的索引中删除每个文件。

git rm --cached -r .

重写Git索引以获取所有新的行结束符。

git reset --hard
返回所有更改过的文件,并为提交做准备。这 是否有机会检查哪些文件(如果有的话)没有改变。

git add .
# It is perfectly safe to see a lot of messages here that read
# "warning: CRLF will be replaced by LF in file."

将更改提交到存储库。

git commit -m "Normalize all the line endings"

https://help.github.com/articles/dealing-with-line-endings/

有趣的是,我已经像这里解释的那样应用了两个配置,我的.gitconfig文件包含这两行:

[core]
autocrlf = false
whitespace = cr-at-eol
但是我得到了警告。 现在我注释掉了这两行警告就消失了。 然而,我不知道为什么我把它们放在第一位

设置“核心。Safecrlf false”有效。然而,在我将值更改为“true”后,输出从“警告”更改为“致命”,如下所示。

$ git add -A
warning: LF will be replaced by CRLF in .gitignore.
The file will have its original line endings in your working directory


$ git config --global core.safecrlf false


$ git reset


$ git config --global core.safecrlf true


$ git add -A
fatal: LF would be replaced by CRLF in .gitignore


$