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静态库冲突)

uniapp原生插件开发(iOS)

XCode - iOS:无法解决 CocoaLibSpotify 和 Parse 框架之间的冲突

iOS输入限制字数时,避免与中文拼音拼写板冲突

Xcode7打包,iOS9真机闪退,如何解决?

Parse 的 iOS SDK(或其他 SDK)如何解决冲突?