在少数地方提到.pbxproj文件应该在cvs或git中作为二进制文件提交/导入。 它看起来像文本格式的脚本文件。 这个建议应该将其视为二进制的原因是什么?
正如这里提到的,pbxproj 并不是真正可合并的,它是一个作为 JSON 管理的复杂属性列表。
通常的设置是.gitattributes
:
*.pbxproj -crlf -diff -merge
如下所述:
这可以防止 Git 尝试修复换行符,在差异中显示它,并将其从合并中排除。
另一种方法是:
*.pbxproj binary merge=union
如此处所述,这效果不佳。
问题是大括号会定期变得不合适,这使得文件无法读取。的确,大多数时间确实有效 - 但可能失败了 1 次中有 4 次。