2012-08-27 50 views
1

我有一個很大的項目,我正在使用git子模塊來分離我寫的很多代碼。問題是我最終在Xcode中發生衝突,因爲同一個子模塊有兩個不同的版本。使用git子模塊的Xcode項目導致衝突

例如,假設我擁有存儲庫項目,其中有一個子模塊SubA和一個子模塊SubB。問題是我的SubA也有一個子模塊SubB。如果兩個不同的SubB處於同一修訂版中,這不會成爲問題,但如果兩者不同,則會導致衝突。

當導入的所有文件到Xcode中是沒有問題的,因爲他們是在兩個不同的文件夾,但我用

#import "FileInSubB.h" 

導入在SUBB源代碼,這樣的Xcode將只編譯版本之一該文件,因爲它們具有相同的名稱。有這個簡單的解決方案嗎?

回答

0

首先,如果它們不相同,爲什麼會有兩個子模塊subB?我的意思是命名的目的是讓事情有所區別:你叫他們的名字叫蘋果和梨,如果他們都叫蘋果,你怎麼知道要拿哪個?

如果submodules subB是相同的,爲什麼你有兩個?或者不可能有兩個模塊共享相同的子模塊? (我懷疑它,因爲這是使用子模塊的一個點)

第二,和更多的你得到一個答案,在Xcode中,你沒有依賴或類似的東西,目標一個路徑(即在編譯器設置中對path/to/subB_v1有依賴關係)。

+0

因爲SubB是一個具有Utilities類的存儲庫。我在SubA和Project中使用它。在SubA開發過程中,我不知道SubB是Project的子模塊還是Project要使用SubA。它們分別開發。 我不知道Xcode是否有構建依賴關係,我會研究它,謝謝。 – dvieira

+0

但爲什麼你不指向相同的SubB?或者我沒有得到什麼。我的意思是我認爲子模塊就像依賴關係,你可以從不同的項目指向它們,一旦你更新子模塊,所有的項目都可以看到新的版本。我從來沒有使用submodules,但我認爲這是它的工作原理 – Vince

+0

因爲我可能希望兩個SubB在不同的修訂版。 – dvieira