用git merge Xcode的工程文件是建很烦的事。怎么破?

OpenFibers
  • 3.2k

如果是php、rails项目,用git merge后解决每个文件的冲突就好了。

如果git merge cocoa项目,工程文件经常会有冲突。而且一冲突就一大堆。怎么破?不会要为每个项目成员开一个工程文件吧,有木有科学点的解决方案

回复
阅读 8.8k
1 个回答
✓ 已被采纳

大多数我们遇到的.pbxproj工程文件冲突就是几个人都同时往项目里添加了文件,这是个XML文件,所以基本上只要把各方对这个文件做的修改都加在一起就行。可以让git做这件事,在 .gitattributes 文件里面加一行:

*.pbxproj text -crlf -diff -merge=union

这样可以应付绝大多数情况,除非是有人删了一个文件,有人又加了一个同名文件,或者大家同时修改了一些编译选项,但这种情况应该通过制度来避免。

另外,据说Google有的iOS开发小组是不提交.pbxproj文件,而是自己定义了一个文件格式用来记录文件列表,然后用一个内部的脚本生成.pbxproj。

宣传栏