在一些地方提到,.pbxproj文件应该以二进制形式提交/导入到cvs或git中。它看起来像文本格式的脚本文件。为什么要建议将其视为二进制文件? 这个建议的原因是因为.pbxproj文件实际上包含了许多二进制数据,例如图像和音频文件等。如果你将其作为文本文件进行提交/导入,则可能会导致文件损坏或无法正常工作。因此,将其视为二进制文件有助于确保文件内容的完整性和正确性。
如这里所述,pbxproj不是真正可合并的,它是一个由JSON管理的复杂属性列表。 通常的设置在.gitattributes文件中: *.pbxproj -crlf -diff -merge 如这里所述: 这可以防止Git尝试修复换行符,在差异中显示它,并将其从合并中排除。 另一种方法是: *.pbxproj binary merge=union 如文档所述,这并不起作用。 问题在于大括号经常会不恰当地移动位置,导致文件无法读取。虽然这种方法在大多数情况下是可行的,但仍有四分之一的概率失败。