iOS使用Xcode开发如何避免与解决冲突-不区分svn和git-100%保证你远离冲突
Posted techfu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS使用Xcode开发如何避免与解决冲突-不区分svn和git-100%保证你远离冲突相关的知识,希望对你有一定的参考价值。
以下内容只针对使用Xcode进行ios开发,其他平台开发请酌情参考
一、为何会产生冲突
一般认为认为几个账户修改同一个文件,导致版本控制器无法确认代码的合法性导致。
二、导致冲突的操作
1、几个账户修改一个文件(比如点m文件)
2、几个账户分别对工程中有添加文件/文件夹或者删掉文件/文件夹的操作(比如A账户在工程中添加了一个文件/目录,B账户删掉了一个文件/目录,A向服务器提交代码,这时候B提交代码,绝对的B工程崩溃冲突),至于为何会冲突,请往下看
3、A账户点击了XIB或者SB查看了一下,然后整个工程提交到服务器了,B也是点击了XIB或者SB查看了下,这时候如果B提交了这个XIB或者SB有很大程度上会冲突,后来我研究了下,发现XIB中一个号码,类似版本号,每次打开的时候都会改变,所以没事的时候别随便打开xib文件,关于正确的操作请往下看。
基本上日常的开发中就是以上三点导致冲突
三、如何避免冲突
主要针对上面文字二中的操作进行分析
1、 避免几个账户修改同一个文件,(ps:其实就算修改一个文件导致冲突,这个也是很好解决的)
2、当你想向工程中添加或者删掉文件或者文件夹的时候,请按下列步骤操作,切记切记切记:重要的事情说三遍
(1)整个工程进行update
(2)向工程中填减文件或者文件夹(假如你新建了一个文件,别想着文件中的功能实现好了再提交,这是错误的,一定要立即提交到服务器,然后再去实现功能)
(3)整个工程提交到服务器 (这地方描叙有点不妥,新手可以这么干,其实正确的方法应该是:仅仅提交填减的文件/文件夹 和工程的.xcodeproj文件)
总结下就是update-->添减文件/文件夹-->提交
四、如何正确的提交代码
1、原则上请先update,修改了哪个文件就提交哪个文件,不要整体提交
2、如果是添加和删减了文件/文件夹,请提交这些增减文件/文件夹和工程的.xcodeproj文件
反正就是不是必须的情况下,不要整体提交代码
五、解决冲突
很多人一旦出现冲突之后就很担心工程会不会出问题啊,我已经修改了很多的地方,我的工程是不是要重新来啊等等,其实吧,完全没有必要
一个很傻瓜的办法介绍给大家,高手请忽略:
1、工程打不开了,而且也解决不了冲突问题
出现这种问题无非就是工程的.xcodeproj文件中的project.pbxproj冲突,如果能解决冲突就解决,解决不了嘛,笨办法,首先提交所有的新添加和修改过的文件,然后备份本地的代码,删掉重新从服务器拉取,拉去之后你会发现新添加的文件不在工程中,这时候你可以去工程目录下找找,重新拖进工程中就可以了,或者是已经删掉的文件却还存在索引,这时候删掉这些索引就可以了。
2、xib或者sb报错
选中xib或者sb,使用右键打开资源代码,找到冲突部分删掉多余的字符就可以了
以上是关于iOS使用Xcode开发如何避免与解决冲突-不区分svn和git-100%保证你远离冲突的主要内容,如果未能解决你的问题,请参考以下文章
iOS合并lib(.a)库的可用方法(可用于解决duplicate symbol静态库冲突)