使用xUnique解决Xcode项目文件冲突

使用xUnique解决Xcode项目文件冲突

本文大部分内容参考自SeganW的 一劳永逸解决Xcode项目文件合并“梦魇”
以及 xUnique
的readme

感谢xUnique作者SeganW的贡献

在合并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 [email protected]:truebit/xUnique.git

[step 2]安装 xUnique

进入 xUnique
源码所在文件夹,执行

sudo python setup.py install

[step 3]将 xUnique
与git钩子绑定

进入需要绑定 xUnique
的项目所在路径,在终端中执行

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

其中 path
为项目的路径, MyProject.xcodeproj
需要用项目的实际工程文件名来替代

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

chmod 555 .git/hooks/pre-commit

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

更多 xUnique
介绍,请移步
xUnique
的github主页

稿源:Coding Time (源链) | 关于 | 阅读提示

本站遵循[CC BY-NC-SA 4.0]。如您有版权、意见投诉等问题,请通过eMail联系我们处理。
酷辣虫 » 移动互联 » 使用xUnique解决Xcode项目文件冲突

喜欢 (0)or分享给?

专业 x 专注 x 聚合 x 分享 CC BY-NC-SA 4.0

使用声明 | 英豪名录