为什么 git 阻止合并二进制文件?

Why does git prevent merging binary files?

我正在浏览 yarn 的 berry 存储库并在他们的 .gitattributes 文件中偶然发现了这个设置:

# Mark .pnp.js as binary to prevent git from trying to merge it
/.pnp.js                binary linguist-generated

为什么 git 默认情况下会阻止自动合并二进制文件?是不是因为大多数编辑器在编辑此类文件的内容时表现不佳?

首先是因为没有意义。如何合并两个可执行文件?结果会怎样?它也可以执行吗?

其次,因为 git 在技术上面向使用线条。它逐行合并文件(嗯,行块)。二进制文件没有行。