使用XUNIQUE解决XCODE项目文件冲突

在合并iOS项目时,最让人头疼的就是项目文件冲突了。偏偏Xcode项目文件冲突的几率又特别高,只要项目文件被多个小伙伴同时修改,几乎100%就会遇到冲突。而项目文件的格式也是复杂难懂,因此一旦遇到冲突,解决起来让广大开发者们都是分外头疼。

在神奇Google的指引下,我找到了解决项目文件冲突的工具---xUnique

xUnique原理

导致Xcode项目文件冲突的根本原因是节点的排列没有固定次序,以及在不同的电脑上生成的节点的UUID并不相同。

xUnique

是一个Python脚本,它能够将项目文件中的PBXFileReference和PBXBuildFile区块排序,并且将UUID为永久不变的MD5 digest值。只要把xUnique

与pre-commit钩子绑定,每次提交项目文件时对其进行序列化,就能有效减少项目文件的冲突。

安装xUnique

[step 1]将xUnique

的代码clone到本地

$ git clone https://github.com/truebit/xUnique.git

[step 2]安装xUnique

进入xUnique

源码所在文件夹,执行

$ sudo python setup.py install

[step 3]将xUnique

与git钩子绑定

进入需要绑定xUnique

的项目所在路径,在终端中执行

$ { echo '#!/bin/sh'; echo 'python -mxUnique path/Project.xcodeproj'; } > .git/hooks/pre-commit

其中path

为项目的路径,MyProject.xcodeproj

需要用项目的实际工程文件名来替代

[step 4]将pre-commit文件设置可执行权限

$ chmod 555 .git/hooks/pre-commit

完成以上四步后,xUnique

就算是安装成功了,它将会在每次commit时执行,自动对项目工程文件进行处理。

你可能感兴趣的:(使用XUNIQUE解决XCODE项目文件冲突)