2013-01-01 121 views
6

在開發iOS應用程序時,我經常使用GitHub中的第三方代碼和我自己創建的可重用類。我一直在做的是將源代碼克隆到~/Documents的某個特定文件夾中,在那裏我保存了所有庫代碼。然後,我會將源文件拖放到Xcode項目中,並將代碼拖放到本地Git存儲庫中,以跟蹤我自己的源代碼中的更改。到目前爲止這樣好,但我最近發現了一個嚴重的問題:我想切換回我的Xcode項目的舊版本,並發現它不再編譯,因爲它使用了舊版本的第三方代碼,並且沒有任何我存儲了它使用的版本!第三方代碼和Git

這個問題通常如何解決?我已經簡要介紹了Git子模塊,但我不確定它是否正確。我還簡要閱讀了關於CocoaPods的內容,但我是否也可以將它用於我自己創建的庫?

回答

7

它實際上是用git submodule解決:這個想法是引用確切承諾爲每個子模塊,你需要,讓你回去的歷史,並找到連貫組提交您需要爲您的項目編譯,然後
(更this answer

然而,這確實需要在你的工作樹結構略有變化,因爲每個子模塊將成爲代表項目母公司回購的子目錄。

還要注意它(git子模塊)對於依賴關係很有用。
CocoaPods可能更適合構建您所依賴的二進制文件(binary dependency)。