为什么.pbxproj文件在版本控制系统中应被视为二进制文件



在少数地方提到.pbxproj文件应该在cvs或git中作为二进制文件提交/导入。 它看起来像文本格式的脚本文件。 这个建议应该将其视为二进制的原因是什么?

正如这里提到的,pbxproj 并不是真正可合并的,它是一个作为 JSON 管理的复杂属性列表。

通常的设置是.gitattributes

*.pbxproj -crlf -diff -merge

如下所述:

这可以防止 Git 尝试修复换行符,在差异中显示它,并将其从合并中排除。

另一种方法是:

*.pbxproj binary merge=union

如此处所述,这效果不佳。

问题是大括号会定期变得不合适,这使得文件无法读取。的确,大多数时间确实有效 - 但可能失败了 1 次中有 4 次。

最新更新