2015-07-21 106 views
7

尽管我已经在这里阅读过类似的评论,但在这个论坛中,我还没有找到一种适合团队合作的方法。在Git上合并与project.pbxproj的冲突 - Xcode iOS

如果你明白我的意思,即使你在不同的文件中工作,你已经可能在Xcode中发现了git和project.pbxproj文件的棘手问题。

说,

  • 开发人员:创建富文件夹,添加foo.swift到项目中。
  • B开发人员:创建Bar文件夹,将bar.swift添加到项目中。

不同的路径......但你知道,冲突!正如您可能还注意到的,将project.pbxproj取出不是一种选择。

所以我的问题是:你如何以专业的方式处理这个问题,Git流就绪和最简单的方法。

非常感谢大家。 PS:我现在使用Bitbucket和SourceTree,如果事情。

PS2:我想避免命令行和手动文件编辑,如果可能的话。

+0

为什么'project.pbxproj'特别?冲突可能发生在任何文件中。 – trojanfoe

+0

pbxproj文件的问题在于,虽然它是一个文本文件,但它的结构是一团糟,解决合并冲突可能会非常痛苦。例如,一个有问题的合并可能会引起难以理解的文件中的1k冲突(作为引用等的uuids)。 – droussel

回答

5

创建.gitattributes文件,并添加以下行:

*.pbxproj merge=union

梅杰斯会自动发生,无需你碰任何东西。

或者,您可以尝试mergepbx,它可以进行更智能的合并。

+0

已经尝试过......这不是防弹的。我有一个案例,xcode项目不再开放。需要手动合并。 – Primoz990

1
  1. 新文件仅由“main-develop”分支上的一位开发人员创建。
  2. 推新文件“主开发”
  3. 这些文件是由其他开发商实施拉后