我正在编辑克隆的远程存储库的一些markdown文件,并且想要测试从一个分支到另一个分支的创建和应用补丁。但是,每次我做任何更改时,我都会在git apply
期间收到以下消息:
0001-b.patch:16: trailing whitespace.
warning: 1 line adds whitespace errors.
(这发生在我的Mac上,我不知道原始代码的创建地点。)
警告信息的含义是什么,我需要关心吗?
答案 0 :(得分:110)
你不需要关心。
警告制定了关于空白的文本文件的清洁标准,这是许多程序员倾向于关心的事情。正如the manual所解释的那样:
控制什么被认为是空白错误 通过core.whitespace配置。默认情况下,尾随空格 (包括仅由空格组成的行)和空格 紧跟在其中的制表符的字符 该行的初始缩进被视为空格错误。
默认情况下,该命令会输出警告消息,但会应用补丁。
因此,“错误”意味着更改引入了尾随空格,仅空白行或选项卡之前的空格。除了这个事实,这个变化没有任何错误,它将适用于干净和正确。换句话说,如果您不关心“不正确”的空格,请随意忽略该警告或使用git config apply.whitespace nowarn
将其关闭。
答案 1 :(得分:4)
您可以合理关注的一种情况是,您希望区分“旧的”whitespase错误(您可能希望保留遗留原因)和“新”空白错误(您希望避免)。
为此,Git 2.5 +(2015年第二季度)将为空白空间检测提出更具体的选择。
commits 0e383e1见0ad782f,d55ef3e和Junio C Hamano (gitster
) [2015年5月26日]。{
(Junio在commit 709cd91中合并,2015年6月11日)
diff.c
:--ws-error-highlight=<kind>
选项传统上,我们只关心引入的空白破损 在新的行 有些人想在旧的时候画出空白破损 线也是。当他们看到新线上的空白破损时,他们 可以在相应的上发现同样的空白破损 旧线,并想说“啊,那些破损在那里,但他们 从原版继承而来,所以现在暂时不要碰它们。“
介绍
--ws-error-highlight=<kind>
选项,让他们通过 要指定的以逗号分隔的old
,new
和context
列表 什么行突出显示空白错误。
--ws-error-highlight=<kind>
以
<kind>
指定的颜色突出显示由color.diff.whitespace
指定的行上的空白错误。
<kind>
是逗号分隔的old
,new
,context
列表。
如果未指定此选项,则仅突出显示new
行中的空格错误。E.g。
--ws-error-highlight=new,old
突出显示删除和添加的行上的空白错误all
可以用作old,new,context
的简写。
例如,旧提交有一个空格错误(bbb
),但您只能关注新错误(在still bbb
和ccc
的末尾):
(在t/t4015-diff-whitespace.sh
之后完成测试)
答案 2 :(得分:1)
此处显示了可视图像的空白错误。
http://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project#Commit-Guidelines
答案 3 :(得分:0)
它对我有用:
git config apply.whitespace fix
每次使用提交之前:
git add -up .
答案 4 :(得分:-1)
因为以TAB
开头的行不等于SPACE
。转到补丁文件,将TAB
替换为SPACE
。例如。 on vim on line + from patch file type x to remove space and not sign sign and insert space(CTRL)on eqiv to original size。