Git 二进制补丁作为文本应用有很多空白错误
Git binary patch as text applying has many whitespace errors
当对文本使用 git diff -a
时,例如 git diff --no-index -a dir1 dir2 > dir.patch
,当我使用 git apply
应用补丁时,我收到许多关于尾随空格和抑制数千个空格错误的空格警告。我应该担心这些吗? diff
显示修补后的目录与其预期的修补状态字节相同,因此没有任何损坏。 (我知道 --binary
会处理这些错误。)
Should I be worried about [Git's whitespace-error warnings]?
仅当您同意 Git 对空白的相当固执己见的立场时。也就是说,默认情况下,Git 认为文件中的一行以空格结尾是不好的。如果我们让符号$
代表一行的结束,那么:
hello world$
可以,但是:
hello world $
不是。虽然大多数 Git 命令对此只字未提,但 git diff
突出显示 “坏” 空格,并且 git apply
抱怨 “坏”空格。
如果您不同意Git(and/or如果这样的空格很重要),您可以配置Git,或者使用 git apply
的命令行参数来更改它抱怨的内容或禁用投诉。如果您认为 Git 是正确的,您可以将 git apply
的抱怨变成彻底的错误,而不是警告,或者告诉 Git 修复此类错误(例如,去除尾随空白从上面的行)。
有关空格选项的完整列表,请参阅 the git-config documentation 中描述的 core.whitespace
设置。
当对文本使用 git diff -a
时,例如 git diff --no-index -a dir1 dir2 > dir.patch
,当我使用 git apply
应用补丁时,我收到许多关于尾随空格和抑制数千个空格错误的空格警告。我应该担心这些吗? diff
显示修补后的目录与其预期的修补状态字节相同,因此没有任何损坏。 (我知道 --binary
会处理这些错误。)
Should I be worried about [Git's whitespace-error warnings]?
仅当您同意 Git 对空白的相当固执己见的立场时。也就是说,默认情况下,Git 认为文件中的一行以空格结尾是不好的。如果我们让符号$
代表一行的结束,那么:
hello world$
可以,但是:
hello world $
不是。虽然大多数 Git 命令对此只字未提,但 git diff
突出显示 “坏” 空格,并且 git apply
抱怨 “坏”空格。
如果您不同意Git(and/or如果这样的空格很重要),您可以配置Git,或者使用 git apply
的命令行参数来更改它抱怨的内容或禁用投诉。如果您认为 Git 是正确的,您可以将 git apply
的抱怨变成彻底的错误,而不是警告,或者告诉 Git 修复此类错误(例如,去除尾随空白从上面的行)。
有关空格选项的完整列表,请参阅 the git-config documentation 中描述的 core.whitespace
设置。