我的 git 应用补丁失败,因为目标文件有 UTF8 BOM - 我该如何修复它?

My git apply patch fails because the target file has UTF8 BOM - how do I fix it?

如标题所述,我正在尝试对文件应用补丁,但失败了,因为该文件具有 UTF8 BOM,但补丁并未提及。

如何在不从文件中删除 UTF8 BOM 的情况下解决这个问题?

最简单的解决方案是删除它,也许是暂时的(即删除它,应用补丁,然后放回去)。由于 git apply 默认情况下在工作树内容上工作,这应该很容易,不需要进行或删除任何提交。

请注意,UTF-8 BOM 在技术上是无用的,因为 UTF-8 首先没有字节顺序问题。 (不过,某些软件可能会使用它来暗示该文件是 UTF-8 编码的。)

我通过创建一个全文件补丁 (git diff -B) 解决了这个问题。可以应用此补丁。 (当然这不适用于您从其他地方获得的补丁)