【问题标题】:why should .pbxproj file be treated as binary in version control systems?为什么 .pbxproj 文件在版本控制系统中被视为二进制文件?
【发布时间】:2016-08-18 09:46:25
【问题描述】:

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

【问题讨论】:

    标签: ios xcode git macos cvs


    【解决方案1】:

    作为mentioned here,pbxproj 不是真正可合并的,它是一个以 JSON 形式管理的复杂属性列表。

    通常的设置是在.gitattributes:

    *.pbxproj -crlf -diff -merge
    

    作为explained here:

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

    另一种方法是:

    *.pbxproj binary merge=union
    

    作为documented here,这并不奏效。

    问题是大括号会定期变得不合适,这使得文件无法读取。确实,tho 在大多数情况下都可以工作 - 但可能有 4 次失败。

    【讨论】:

    • 感谢 VonC 的回答和链接。在没有合并 = 联合功能的情况下将项目文件视为二进制文件有什么问题?
    • @nav1729 应该也可以,只要 git 不尝试合并它。
    • 这是否意味着 git 会合并标记为二进制的文件?
    • @nav1729 是的,它确实意味着这些文件的二进制文件。或类似二进制(无差异,无合并)
    猜你喜欢
    • 2011-10-14
    • 2016-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-25
    • 1970-01-01
    相关资源
    最近更新 更多