在合并iOS項目時,最讓人頭疼的就是項目文件沖突了。偏偏Xcode項目文件沖突的幾率又特別高,只要項目文件被多個小伙伴同時修改,幾乎100%就會遇到?jīng)_突。而項目文件的格式也是復(fù)雜難懂,因此一旦遇到?jīng)_突,解決起來讓廣大開發(fā)者們都是分外頭疼。
在神奇Google的指引下,我找到了解決項目文件沖突的工具---xUnique
。
xUnique原理
導(dǎo)致Xcode項目文件沖突的根本原因是節(jié)點的排列沒有固定次序,以及在不同的電腦上生成的節(jié)點的UUID并不相同。
xUnique
是一個Python腳本,它能夠?qū)㈨椖课募械腜BXFileReference和PBXBuildFile區(qū)塊排序,并且將UUID為永久不變的MD5 digest值。只要把xUnique
與pre-commit鉤子綁定,每次提交項目文件時對其進(jìn)行序列化,就能有效減少項目文件的沖突。
安裝xUnique
[step 1]將xUnique
的代碼clone到本地
git clone git@github.com:truebit/xUnique.git
[step 2]安裝xUnique
進(jìn)入xUnique
源碼所在文件夾,執(zhí)行
sudo python setup.py install
[step 3]將xUnique
與git鉤子綁定
進(jìn)入需要綁定xUnique
的項目所在路徑,在終端中執(zhí)行
{ echo '#!/bin/sh'; echo 'python -mxUnique path/MyProject.xcodeproj'; } > .git/hooks/pre-commit
其中path
為項目的路徑,MyProject.xcodeproj
需要用項目的實際工程文件名來替代
[step 4]將pre-commit文件設(shè)置可執(zhí)行權(quán)限
chmod 555 .git/hooks/pre-commit
完成以上四步后,xUnique
就算是安裝成功了,它將會在每次commit時執(zhí)行,自動對項目工程文件進(jìn)行處理。
更多xUnique
介紹,請移步xUnique的github主頁。
本文轉(zhuǎn)自:http://codingtime.me/post/posts/leng-zhi-shi/2015_01_16_xunique