混帐,空白错误,压制和autocrlf,明确的答案
请你解释git中的空白错误,它们是什么意思,什么是“压制”,我需要担心吗?
(运行msysgit,但与其他用户在Linux上)。
在这里已经有了一个“确定的”autocrlf答案 (将其设置为false git config --global core.autocrlf false
)
静噪最初是电信中使用的一种function,用来设置一个阈值,高于该值的信号是通过或不通过的。
就你而言,当你看到:
warning: squelched 104 whitespace errors warning: 109 lines add whitespace errors.
这意味着:不是显示100多个错误消息,而是警告你应该显示这些错误(但不会为了不混乱输出)
对于空白政策,我没有明确的build议,除了首先确定为什么要这样做。
如果你的编辑器不能在Window和Unix之间转换eol(行尾)字符,那么这意味着它会自动地添加或者删除空格,这并不总是有用的。
第一个testing(如在这篇博客文章中 )是取消激活政策:
git config core.whitespace nowarn
或尝试
git config core.whitespace fix
并看看是否有利于你的rebase操作。
在search这个答案之后,同时查看了git-config和git-apply手册,我发现
git config apply.whitespace nowarn
停用显示当前存储库中的空白错误。
为了使它可用于所有的仓库,只需添加 – --global
像这样:
git config --global apply.whitespace nowarn
这里是如何解决使用git时的“尾随空白”错误申请:
你首先需要知道的是:什么是空白错误。 这在core.whitespace设置文档中有解释。 基本上,git处理几种空白错误:
blank-at-eol blank-at-eof space-before-tab indent-with-non-tab tab-in-indent cr-at-eol
使用Windows风格行结尾(CRLF)修补文件时, 尾随空格错误可能会增加。 为了避免这个警告,你可以要求git apply
不显示警告:
git apply --whitespace=nowarn fix.patch
或者你可以在飞行 (用-c
)编辑gitconfiguration来说“ok git,这个时候行结束时的CR很好”:
git -c core.whitespace=cr-at-eol apply fix.patch
如果你想永久性的 ,只需编辑这样的gitconfiguration:
git config apply.whitespace nowarn
要么 :
git config core.whitespace cr-at-eol