env:

视窗 7 麦克西吉特

当我提交时,它说:

warning: LF will be replaced by CRLF. 

这个警告尾巴是向后的吗? 我在Windows中编辑文件,行尾是CRLF,就像这张图片: git将其更改为LF,用于提交回购。 所以我认为正确的警告是:

warning: CRLF will be replaced by LF. 

当前回答

我遇到过类似的问题,在windows上使用vscode(v1.57)尝试了其他答案中定义的解决方案,但没有工作。

所以对我来说,以下步骤是有效的:

在根文件夹中有一个名为.editorconfig的文件 打开该文件,将end_of_line = lf修改为end_of_line = CRLF 运行git rm——缓存,警告消失!!

其他回答

做一些简单的事情:

打开git-hub (Shell)并导航到目录文件属于(cd /a/b/c/…) 执行dos2unix(有时是dos2unix.exe) 试着现在就承诺。 如果你再次得到相同的错误。 执行以上所有步骤,除了不执行dos2unix,而是执行unix2dox(有时使用unix2dos.exe)

Git配置——全局核心。selff false适用于全局设置。

但是如果你正在使用Visual Studio,可能还需要为某些类型的项目(例如c#类库应用程序)修改.gitattributes:

删除line * text=auto

是的,警告是反的。

事实上,它一开始就不应该是一个警告。因为所有这些警告都在说(但不幸的是倒着说),你文件中带有Windows行结束符的CRLF字符将在提交时被LF字符替换。这意味着它被标准化为*nix和MacOS使用的相同的行结束符。

没有什么奇怪的事情发生,这正是你通常想要的行为。

当前形式的警告是以下两件事之一:

一个不幸的漏洞加上一个过于谨慎的警告信息, 或 一个非常聪明的情节,让你真正思考这个问题……

;)

所有这些都假设core. selflf =true

原始错误:

警告:LF将被CRLF取代 该文件在您的工作目录中有其原始的行结束符。

错误应该是什么:

警告:在你的工作目录中,LF将被CRLF取代 文件将在git存储库中有其原始的LF行结束符

解释:

The side-effect of this convenient conversion, and this is what the warning you're seeing is about, is that if a text file you authored originally had LF endings instead of CRLF, it will be stored with LF as usual, but when checked out later it will have CRLF endings. For normal text files this is usually just fine. The warning is a "for your information" in this case, but in case git incorrectly assesses a binary file to be a text file, it is an important warning because git would then be corrupting your binary file.

基本上,以前是LF的本地文件现在在本地具有CRLF

关闭Visual Studio

如果你得到这个错误,一个简单的解决方法是关闭Visual Studio,然后你可以提交到main,就是这么简单。 我也遇到过同样的问题,我就是这样解决的。这是因为您要打开的文件在另一个程序中打开了。