作为文本应用的Git二进制补丁有许多空白错误
当对文本使用作为文本应用的Git二进制补丁有许多空白错误,git,warnings,whitespace,binaryfiles,git-diff,Git,Warnings,Whitespace,Binaryfiles,Git Diff,当对文本使用git diff-a时,例如git diff--no index-a dir1 dir2>dir.patch,当我使用git apply应用补丁时,我会收到许多关于尾随空格和压制数千个空格错误的空格警告。我应该担心这些吗diff显示已修补目录的字节与其预期的修补状态相同,因此没有任何内容损坏。(我知道--binary会处理这些错误。) 我是否应该担心[Git的空白错误警告] 只有当你同意Git在空格问题上相当固执己见的立场时。也就是说,默认情况下,Git认为在文件中有一行以空格结尾是
git diff-a
时,例如git diff--no index-a dir1 dir2>dir.patch
,当我使用git apply
应用补丁时,我会收到许多关于尾随空格和压制数千个空格错误的空格警告。我应该担心这些吗diff
显示已修补目录的字节与其预期的修补状态相同,因此没有任何内容损坏。(我知道--binary
会处理这些错误。)
我是否应该担心[Git的空白错误警告]
只有当你同意Git在空格问题上相当固执己见的立场时。也就是说,默认情况下,Git认为在文件中有一行以空格结尾是不好的。如果让符号$
表示一行的结尾,则:
hello world$
可以,但是:
hello world $
事实并非如此。虽然大多数Git命令对此一无所知,Git diff
突出显示“坏”空白,而Git apply
抱怨“坏”空白
如果您不同意Git(和/或如果此类空格很重要),您可以配置Git,或使用命令行参数来Git apply
,以更改它抱怨的内容或禁用抱怨。如果您认为Git是正确的,您可以将Git apply的投诉转化为直接的错误,而不是警告,或者告诉Git修复这些错误(例如,从上面的行中去掉尾随空白)
有关空白选项的完整列表,请参阅中介绍的core.whitespace
设置
我是否应该担心[Git的空白错误警告]
只有当你同意Git在空格问题上相当固执己见的立场时。也就是说,默认情况下,Git认为在文件中有一行以空格结尾是不好的。如果让符号$
表示一行的结尾,则:
hello world$
可以,但是:
hello world $
事实并非如此。虽然大多数Git命令对此一无所知,Git diff
突出显示“坏”空白,而Git apply
抱怨“坏”空白
如果您不同意Git(和/或如果此类空格很重要),您可以配置Git,或使用命令行参数来Git apply
,以更改它抱怨的内容或禁用抱怨。如果您认为Git是正确的,您可以将Git apply的投诉转化为直接的错误,而不是警告,或者告诉Git修复这些错误(例如,从上面的行中去掉尾随空白)
有关空白选项的完整列表,请参阅中描述的
core.whitespace
设置。这些规则对源代码有一定意义。我在问他们是否有理由使用来自-a
的二进制数据进行git差异。可能没有,但git会发出警告,除非你告诉它不要(git apply--whitespace=nowarn
);它只是把它们当作文本,就像你要求它的那样:-)这些规则对源代码有一定的意义。我在问他们是否有理由使用来自-a
的二进制数据进行git差异。可能没有,但git会发出警告,除非你告诉它不要(git apply--whitespace=nowarn
);它只是将它们视为文本,就像您要求的那样:-)