我正在使用Windows,但也可以在Unix上运行,所以我不需要存储Windows行结尾。我只想抑制警告。
我发现了相关的Stack Overflow问题:
git turn off "LF will be replaced by CRLF" warning
git, whitespace errors, squelching and autocrlf, the definitive answers
我试过了:
git config core.whitespace cr-at-eol false
git config core.whitespace cr-at-eol true
git config core.whitespace cr-at-eol nowarn
但这些似乎没有做任何事情。有谁知道如何关闭警告?
感谢。
答案 0 :(得分:7)
我只是在autocrlf=true
文件中使用.git/config
来涵盖Windows中的大多数情况。根据新的源文件,偶尔会有警告。
如果您有不遵循该方案的特殊文件,请为它们单独设置.gitattributes,例如我有*.m eol=lf
的Matlab文件。
答案 1 :(得分:4)
我用这种方式:
git config
core.autocrlf
命令用于更改Git处理的方式 行尾。它需要一个参数。在Windows上,您只需将
true
传递给配置即可。例如:$ git config --global core.autocrlf true # Configure Git on Windows to properly handle line endings
您还可以提供一个特殊的--global标志,这使得Git可以使用 跨越每个本地Git存储库的行结尾的相同设置 你的电脑。
在您设置了
core.autocrlf
选项并提交了一个 .gitattributes 文件,您可能会发现Git想要提交您尚未修改的文件。在这一点上,Git渴望改变 每个文件的行结尾。自动配置存储库的行结尾的最佳方法 是先用Git备份你的文件,删除你的每个文件 存储库( .git目录除外),然后还原文件 一次全部。 将当前文件保存在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/
答案 2 :(得分:0)
我也正在使用Windows开发,因为我们的服务器是由Linux驱动的,所有代码都必须基于Linux,所以我更倾向于将所有文件更改为LF而不是CRLF。
来自git命令行:
git config --global core.autocrlf false
我正在使用intellij想法,所以这很容易:
1)文件 - >设置 - >编辑 - >代码样式:(对于任何新文件都会 被创造)
一个。方案:默认
湾行分隔符:unix和os x(\ n)
2)标记项目的根目录 - >文件 - >行分隔符 - >如果 unix和os x(\ n)(对于现有文件)
备注:您还可以使用dos2unix.exe等应用程序或其他一些脚本。
比我使用命令行:(你也可以从想法中做到这一点)
git commit -m "bla bla"
git add .
git push origin master
从那时起,我没有收到这些警告
答案 3 :(得分:0)
您可以使用
关闭警告git config --global core.safecrlf false
(这只会关闭警告,而不是功能本身。)
https://stackoverflow.com/a/14640908/1507124
问题是当使用 autocrlf
设置行尾转换时,如何关闭将文件检入 Git 时生成的警告。
这些是不会保留行尾的警告。 IE。您有一个处于特定状态的文件,您正在将其检入 Git,而在其他时间检出它时,您不应该期望它处于该确切状态。或者,如果其他人检查出来。
如果您更改 core.autoclrf
的设置,您只是更改了您希望文件检出的格式和扩展名的设置,将警告翻转为“CRLF 将被 LF 替换”。除非您将其更改为 input
,否则在大多数情况下这会使事情变得一团糟。
行尾是否重要取决于项目,并且应该在项目范围内设置,使用 .gitattributes
。