Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“如何关闭Git警告”;LF将被CRLF“替换?”;?_Git_Config_Newline_Lf - Fatal编程技术网

“如何关闭Git警告”;LF将被CRLF“替换?”;?

“如何关闭Git警告”;LF将被CRLF“替换?”;?,git,config,newline,lf,Git,Config,Newline,Lf,我在Windows上工作,但也可能在Unix上工作,所以我不需要存储Windows行结尾。我只是不想发出警告 我发现这些堆栈溢出问题是相关的: 我试过: git config core.whitespace cr在下线处为false git config core.whitespace cr在下线处为true eol nowarn处的git config core.whitespace cr 但这些似乎没有任何作用。有人知道如何关闭警告吗 谢谢。我只是在.git/config文件中使用aut

我在Windows上工作,但也可能在Unix上工作,所以我不需要存储Windows行结尾。我只是不想发出警告

我发现这些堆栈溢出问题是相关的:

我试过:
git config core.whitespace cr在下线处为false
git config core.whitespace cr在下线处为true
eol nowarn处的git config core.whitespace cr

但这些似乎没有任何作用。有人知道如何关闭警告吗


谢谢。

我只是在
.git/config
文件中使用
autocrlf=true
,以涵盖Windows中的大多数情况。根据新的源文件,偶尔会出现警告

如果您有不遵循方案的特殊文件,请分别为它们设置.git属性,例如,我有带有
*.m eol=lf

的Matlab文件,我使用以下方法:

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
选项并提交 .gittributes文件,您可能会发现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"

来源:

我也在windows上开发,因为我们的服务器是由Linux驱动的,所有代码都必须基于Linux,所以我更喜欢将所有文件改为LF而不是CRLF

从git命令行:

git config --global core.autocrlf false
我与intellij idea合作,因此非常简单:

1) 文件-->设置-->编辑器-->代码样式:(对于任何新文件 (将创建)

a。方案:默认

b。行分隔符:unix和os x(\n)

2) 标记项目-->文件-->行分隔符-->LF的根 unix和os x(\n)(用于现有文件)

备注:您也可以使用dos2unix.exe等应用程序或其他脚本

比我使用命令行做的更多:(您也可以从idea中执行此操作)

从那以后,我再也没有收到这些警告

您可以使用关闭警告

git config--global core.safecrlf false

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


问题是当使用
autocrlf
设置行结束转换时,如何关闭将文件签入Git时生成的警告

这些警告表明行尾将不会被保留。你有一个处于特定状态的文件,你正在将它签入Git,当你在其他时间签出它时,你不应该期望它处于那个确切的状态。或者,如果其他人检查过

如果更改
core.autoclrf
的设置,只需更改文件以扩展名签出的格式设置,将警告翻转为“CRLF将被LF替换”。除非您将其更改为
input
,否则在大多数情况下,这会将事情弄得一团糟


行尾是否重要取决于项目,应该在项目范围内设置,使用
.gittributes

为像我这样的git新手详细说明:文件“config”位于.git目录中。在Windows上,设置了目录的“隐藏”属性。这不会关闭警告。它将gits自动行结束转换更改为使用
LF
将textish文件检查为git,并将其签出
CLRF
行结束。根据回购协议设立这一点也是不现实的。相反,在签入
CLRF
文件时,您会收到警告,提示它们将被
LF
替换。此答案也不会关闭警告,它会更改如何处理签入和签出文件的行尾。这是正确答案此答案也可以关闭警告。它改变了git处理签入/签出文件的行尾的方式。
git commit -m "bla bla"
git add .
git push origin master