使用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 git@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/MyProject.xcodeproj'; } > .git/hooks/pre-commit

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

[step 4]将pre-commit文件设置可执行权限
chmod 555 .git/hooks/pre-commit

完成以上四步后,xUnique
就算是安装成功了,它将会在每次commit时执行,自动对项目工程文件进行处理。
更多xUnique
介绍,请移步xUnique的github主页

本文转自:http://codingtime.me/post/posts/leng-zhi-shi/2015_01_16_xunique

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,948评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,353评论 25 708
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,958评论 6 342
  • 你不愿意种花,你说,我不愿看见它一点点凋落。 是的,为了避免结束,你避免了一切开始。——顾城 十一点多,困意袭来,...
    水若白阅读 2,245评论 1 8
  • 创建对象 1. 构造器创建对象 2. 通过克隆创建对象(内存复制)实现Cloneable接口,重写clone()方...
    迷茫o阅读 227评论 0 0