美文网首页
多人开发project.pbxproj冲突问题记录

多人开发project.pbxproj冲突问题记录

作者: FanChason | 来源:发表于2019-05-17 09:26 被阅读0次

    文件引用 (fileRef)冲突

    怎么判断?

    看冲突的地方是不是两个fileRef指向不同的文件

    • 解决办法:

    手动project.pbxproj中搜索>>>找到冲突的位置,然后把两个都保留下来

    非文件引用 (fileRef)冲突

    • 解决办法:

    先删掉一条引用记录,解决冲突后,再手动把被删掉引用的文件重新拉进项目

    • 详细解决步骤

      1. 先备份你自己写的导致冲突的那部分代码文件(冲突的地方可以看到)
      2. 在project.pbxproj中删除自己写的冲突那部分代码的引用,保留同事的代码引用(此时会发现Xcode左边目录中你的代码没了)
      3. 将自己写得那部分代码重新拉进项目对应的目录(此时build就成功了)
      4. 同事pull代码后可能会报错(就是同事项目目录里面你那部分代码是灰色的,让同事从finder里面引入进项目目录再build就行了)

    其他的解决办法:

    约定型

    需要增加文件时先增加完空文件后立刻 checkin 一次,让别人每次改动 pbxproj 的时候改动之前 checkout 一次,保证有交叉时间是可能性最小

    就是你先创建一个空文件,生成了一个引用后,就push一遍代码。然后让别人pull,让他在创建新文件之前就已经有了你创建的空文件和生成的引用,这样相当于在你之后创建新文件,而不是同时创建了。

    解决型

    xUnique

    开源 GitHub 地址
    xUnique 下载地址

    注意,多人协作的时候,如果团队中的其中一个人使用了 xUnique,所有人就都要用 xUnique,否则 project.pbxproj 就会全乱掉。

    参考

    建议大家看看这篇文章,总结的很详细到位
    https://bingozb.github.io/11.html

    相关文章

      网友评论

          本文标题:多人开发project.pbxproj冲突问题记录

          本文链接:https://www.haomeiwen.com/subject/znzgaqtx.html