在VSCode中,我有一个弹出式显示:
warning: LF will be replaced by CRLF in <xxx>
我以为这是个警告但我的承诺没有通过。
我检查并尝试在VSCode中找到配置GIT的位置。我读到一些建议,比如:
git config --get core.autocrlf
我试图在VSCode设置中找到一些选项,但我只是找不到在VSCode中配置这个选项的方法。
配置这个的正确方法是什么?非常感谢。
发布于 2022-06-13 11:28:29
在VSCode之外,git config --global core.autocrlf false
是一个不错的选择,就像我这里提到的一样。
在VSCode内部,确保EOL (行尾)指示器(状态栏右下角)是正确的。
如果您的文件有混合行结束,则不存在选项选择退出行,结束文件的规范化。,这意味着,在保存与VS代码编辑的文件时,它似乎自动执行行结束正常化,而无需任何类型的用户通知。
注意:警告消息与Git 2.37 (Q3 2022)一起更改,并变为:
In the working copy of 'hello.txt', LF will be replaced by CRLF
the next time Git touches it.
发布于 2022-06-13 12:50:25
如果您在Windows上工作,您需要确定您希望在沙箱中以哪个行结尾,以及在您的repos中需要哪个行结尾。autocrlf
设置的“正确”选项并不适用于每个人。
autocrlf=false:别乱搞我的文件!
@VonC的答案是正确的,如果您只是不想让Git弄乱行尾-- autocrlf
设置为false
意味着逐字接收文件。
这可以说是autocrlf
唯一正确的设置,因为正如@VonC所指出的,像.bat文件这样的文件会被换行符转换破坏,而且您也不希望在二进制文件中发生行尾转换(一旦意外地对.jpg ->LF进行转换,.jpg文件可能无法恢复).
autocrlf=input:修复我创建文件时的错误
然而,在Windows上,我通常的回答是不同的:在我的回复中,我总是想要Unix风格的换行符。但是在我的Windows机器上,一些讨厌的工具用Windows样式的换行符创建文件。是的,您可以(而且应该)将编辑器设置为使用正确的行尾,但是autocrlf
设置为input
会捕捉到我的“错误”,例如,当文件是由Windows机器上的Python生成时,它通常以CRLF行结尾结束。在我的Windows中,我总是使用git config --global core.autocrlf input
,这意味着我的文件总是使用Unix样式的换行符提交,但是当它们存在于回购程序中时就会被签出。
那么.bat和二进制文件呢?当此设置导致转换时,Git会为我发出警告,因此如果它发生在不应该发生的文件上,我将收到警告并修复提交的情况。不过,我不记得有过这样的问题,但是我的Git repos几乎完全是可移植的源代码和文本文件,我真的非常非常想要LF结尾。
我认为这是一个很好的设置,如果你是一个Linux或Mac面向项目的Windows PC。
autocrlf=true:我真的很想让CRLF出现在我的退房文件中
为了完整起见,我提过这个问题,但一般建议不要这样做。如果您总是希望您的文件在工作时使用CRLF行结束,那么将autocrlf
设置为true
会做到这一点,但是将它们提交到Unix样式的LF行结束。在某些情况下,这是有意义的,但在许多情况下,它可能会造成麻烦。
做出你的选择并在全球范围内保存它
从您收到的消息来看,我猜true
是您的设置,所以您可能希望决定false
或input
中哪个对您最合适,并在Git提示符中运行以下两个命令之一,从而在全局范围内设置该设置:
git config --global core.autocrlf false
或
git config --global core.autocrlf input
Git开发人员的愿望清单:
我真正想要的是一个autocrlf=prompt
设置:每当我尝试提交一个带有CRLF的文件时,问我要做什么。我想我应该给自己做个承诺前的勾当.
发布于 2022-10-28 17:18:54
如果你在使用Windows
修复方法是使用autocrlf true。
git配置--全局core.autocrlf真
除非您再次删除和克隆repos,或者重新启动索引,否则它将无法工作。
重新命名。
https://stackoverflow.com/questions/72601051
复制相似问题