2015-07-21 103 views
7

儘管我已經在這裏閱讀過類似的評論,但在這個論壇中,我還沒有找到一種適合團隊合作的方法。在Git上合併與project.pbxproj的衝突 - Xcode iOS

如果你明白我的意思,即使你在不同的文件中工作,你已經可能在Xcode中發現了git和project.pbxproj文件的棘手問題。

說,

  • 開發人員:創建富文件夾,添加foo.swift到項目中。
  • B開發人員:創建Bar文件夾,將bar.swift添加到項目中。

不同的路徑......但你知道,衝突!正如您可能還注意到的,將project.pbxproj取出不是一種選擇。

所以我的問題是:你如何以專業的方式處理這個問題,Git流就緒和最簡單的方法。

非常感謝大家。 PS:我現在使用Bitbucket和SourceTree,如果事情。

PS2:我想避免命令行和手動文件編輯,如果可能的話。

+0

爲什麼'project.pbxproj'特別?衝突可能發生在任何文件中。 – trojanfoe

+0

pbxproj文件的問題在於,雖然它是一個文本文件,但它的結構是一團糟,解決合併衝突可能會非常痛苦。例如,一個有問題的合併可能會引起難以理解的文件中的1k衝突(作爲引用等的uuids)。 – droussel

回答

5

創建.gitattributes文件,並添加以下行:

*.pbxproj merge=union

梅傑斯會自動發生,無需你碰任何東西。

或者,您可以嘗試mergepbx,它可以進行更智能的合併。

+0

已經嘗試過......這不是防彈的。我有一個案例,xcode項目不再開放。需要手動合併。 – Primoz990

1
  1. 新文件僅由「main-develop」分支上的一位開發人員創建。
  2. 推新文件「主開發」
  3. 這些文件是由其他開發商實施拉後