git - 应用 git 补丁时忽略上下文行中的空格差异

标签 git whitespace patch git-patch git-apply

我正在尝试应用从某个 git 存储库生成的补丁。补丁上下文行看起来像这样

else if ( o is Item )

在我的代码中它看起来像这样

else if (o is Item)

打补丁的时候

$ git apply -v --check --directory=myroot --ignore-space-change --ignore-whitespace ../patches/0003-some-name.patch

它是这样说的

error: while searching for:

并提供上下文 block ,仅在上述空间中有所不同。当我解决空间问题时,问题就消失了。有没有办法指定可以忽略上下文行内的空格?

最佳答案

只要我们只讨论空格:git apply has the --ignore-whitespace option :

When applying a patch, ignore changes in whitespace in context lines if necessary

这应该对你有帮助。读起来好像有人和你以前有过同样的问题:-)

如果不仅仅是上下文行中的空白问题,我通常使用 git apply--reject 选项:可以应用的 hunks 将被应用,那些有问题的代码存储在与修补文件并行的 .rej 文件中。

关于git - 应用 git 补丁时忽略上下文行中的空格差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21087487/

相关文章:

git log -- 显示提交适用于哪些分支

git diff HEAD^ HEAD <文件名> 不显示任何内容

git - 如何获取管道 Jenkins 中所有修改文件的列表?

javascript - 如何防止在文本框中输入前导空格?

ruby - 在 GC Patched ruby​​ 中安装 gems 的正确方法是什么?

python - 为什么 matplotlib.PatchCollection 弄乱了补丁的颜色?

Python:在测试函数的同一模块中定义的修补函数

git - 阻止将琐碎的 merge 推送到 git 服务器

json - Hive json serde - 没有填充空格的键

language-agnostic - 如何从当前目录中的所有文件名中删除空格