1. 程式人生 > >iOS使用Xcode開發如何避免與解決衝突-不區分svn和git-100%保證你遠離衝突

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,使用右鍵開啟資原始碼,找到衝突部分刪掉多餘的字元就可以了