Git,将文件添加到存储库会给LF - > CRLF带来致命错误

use*_*656 40 git version-control newline msysgit core.autocrlf

我是git的新手,我需要一些帮助.我在windows上使用msysgit.

当我执行命令时,git add [folderName]我得到了响应:

fatal: LF would be replaced by CRLF in [.css file or .js file]
Run Code Online (Sandbox Code Playgroud)

然后,如果你尝试做一个提交没有任何反应.

$ git commit
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       so01/
nothing added to commit but untracked files present (use "git add" to track)
Run Code Online (Sandbox Code Playgroud)

其中一些css/js文件是从网上下载的,所以我猜这就是为什么有LF.如果我打开文件并剪切/粘贴内容,那么我会在下一个文件上收到错误,依此类推.

任何帮助都感激不尽.

编辑

设置core.autocrlf为false似乎可以解决问题,但我在很多帖子上都没有将此选项设置为false.

有人能指出我在哪里可以找出在这种情况下可能出现的问题?

sig*_*i13 24

这是非常新的,所以将core.autocrlf设置为false对我来说没有多大意义.所以对于其他新手,请转到.git文件夹中的配置文件并添加:

[core]
    autocrlf = false
Run Code Online (Sandbox Code Playgroud)

在[核心]标题下.

  • 或者从命令行... git config core.autocrlf false (11认同)

Ada*_*ruk 22

相信代码编辑器可以操纵你的行结尾.汽车crlf应该是假的.不要让源代码控制过于聪明.如果不需要使用源代码管理工具来更改行结尾,请不要这样做.这会伤害你.

从一个公认的答案中重申:"除非你能看到必须处理本地eol的特定处理,否则最好不要将autocrlf留给假."

同样来自autocrlf一节末尾的progit书:

"如果您是Windows程序员,只执行Windows项目,那么您可以关闭此功能,通过将配置值设置为false来记录存储库中的回车"

我可以给出的唯一其他帮助是,如果你采取其他路线,熟悉vim -b哪些将显示特殊字符,如MSysGit中的CR,git show HEAD:path/to/your/file.txt哪些应该以git存储它的方式显示文件.

设置core.whitespace cr-at-eol为具有补丁和差异不会突出显示CR可能有问题的空白.

不值得麻烦.按原样存储.

  • 为什么你的轶事证据特定于windows/.net比其他人更重要以及http://progit.org/book/ch7-1.html中推荐的内容? (3认同)
  • 是的,它在Windows上是真的.同样,除了autocrlf = false之外,不要做任何事情.在过去的4年里,我一直在使用windows/.net中的多个团队.你可以做其他事情来摔倒并伤害自己.您最终将autocrlf设置为false. (2认同)
  • OP声明它是一个仅限Windows的项目并不是一个合理的理由来建议始终使用`core.autocrlf = false`.我很难理解你的理由是跨平台开发是规则的例外,许多开发人员将参与具有不同体系结构的项目,特别是在Java世界中,不使用`core.autocrlf = false`确实变得麻烦,因为编辑们争夺行结束.Visual Studio还有一个额外的烦恼,它只会改变你编辑的文件部分的行尾,而不是整个文件. (2认同)

m0t*_*ive 6

该问题可能发生,因为你设置的Git内部存储与文件crlfcore.eol设置.当您添加文件时,Git会警告您它会将其更改为内部格式.

Git最适合使用lf行结尾,因此如果可能的话,总是可以使用core.eol = lf.

这应该说明何时使用core.autocrlf,为什么我应该在Git中使用core.autocrlf = true?

您可能还想使用core.safecrlf.检查git config --help有关设置的详细信息.