我是git的新手,我需要一些帮助。我在Windows上使用msysgit。
当我执行命令git add [folderName]
时,我得到了回复:
fatal: LF would be replaced by CRLF in [.css file or .js file]
然后如果你尝试提交没有任何反应。
$ 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)
其中一些css / js文件是从网上下载的,所以我猜这就是为什么有LF。 如果我打开文件并剪切/粘贴内容,那么我会在下一个文件上收到错误,依此类推。
非常感谢任何帮助。
修改
将core.autocrlf
设置为false似乎可以解决问题,但我在很多帖子上都没有将此选项设置为false。
有人能指出我在哪里可以找出在这种情况下会出现什么问题?
答案 0 :(得分:24)
非常新的,所以将core.autocrlf设置为false对我来说没有多大意义。所以对于其他新手,请转到.git文件夹中的配置文件并添加:
[core]
autocrlf = false
在[核心]标题下。
答案 1 :(得分: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突出显示为可能存在问题的空白。
不值得麻烦。按原样存储。
答案 2 :(得分:6)
问题可能正在发生,因为您将Git设置为在内部使用crlf
设置core.eol
来存储文件。当您添加文件时,Git会警告您它会将其更改为内部格式。
Git最适合lf
行结尾,因此如果可能,请始终使用core.eol = lf
。
这应说明何时使用core.autocrlf
,Why should I use core.autocrlf=true in Git?
您可能还想使用core.safecrlf
。有关设置的详细信息,请查看git config --help
。
答案 3 :(得分:0)
格式的git自动检测非常有效。因此,core.autocrlf=true
在Windows上是一个非常好的主意。
说git config --global core.safecrlf=false
对git说:嘿,请将我的错误的行结尾(仅限LF)转换为Windows行结尾(CRLF),不要打扰我。
因此,您应该禁用core.safecrlf
。