env:

视窗 7 麦克西吉特

当我提交时,它说:

warning: LF will be replaced by CRLF. 

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

warning: CRLF will be replaced by LF. 

当前回答

是的,警告是反的。

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

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

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

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

;)

其他回答

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

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

删除line * text=auto

关闭Visual Studio

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

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

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

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

这是因为Windows上的GitHub Desktop的配置假设CRLF,但文本编辑器可能使用LF。您可以将本地存储库设置改为使用lf。

导航到git repo的根目录,并以完全相同的顺序执行

git config core.eol lf
git config core.autocrlf input

来源:GitHub问题

确保在.gitignore文件中添加了不必要的文件或文件夹。

如。 node_modules

如果仍然面对,则运行此命令

git配置——全局核心。autocrlf假的' '