2014-04-21 88 views
2

我正在研究一些可以在其他項目中重用的類。當我完成後,我會將第一個版本添加到github。該項目什麼都不做,只是這些類很有用。我不想提交整個Xcode項目。我只想提交我正在使用的課程,因爲這是人們在他們的項目中複製的內容。 如果我推動整個項目,我不得不要求這些類的用戶挖掘項目並手動複製這些類,刪除其餘的。這個不乾淨。Xcode本地文件夾內的Git存儲庫

所以我想出了一個解決方案。

  1. 我創建了一個普通的可可項目。
  2. 在我在命令行中創建的項目文件夾中,我們假設MyClasses
  3. 我在該文件夾中添加了類文件。
  4. 我通過引用將該文件夾添加到Xcode項目中,而不是複製。
  5. 然後在命令行中,我在該文件夾中創建了一個git init,添加了所有文件,並進行了第一次提交。

到目前爲止好。我正在使用Xcode提供的接口來管理存儲庫,並且它理解它僅位於該文件夾中的git存儲庫。

我的問題是,未來會不會崩潰? Xcode是否準備以這種方式工作? 我不知道有人以前是否已經這樣做過。通過這種方式,我可以將存儲庫專用於類,並排除與Xcode,筆尖,plists等相關的所有文件。

這將問題擴展到:是否有可能在同一個Xcode項目中有多個存儲庫?我還沒有嘗試過。

+0

可能有助於區分項目和工作區。 – matt

回答

0

因此,如果我理解正確,您想使用git分發一些特定的Objective-C源文件,但也要將它們包含在您自己的本地Xcode項目中以在Xcode中工作。

如果是這樣,那麼請按照您所描述的完成操作。換句話說:

  1. 存儲所有的源文件(即要分發)單個目錄內
  2. 初始化一個Git回購該目錄
  3. 裏面那個目錄添加到您當地的Xcode項目,使確保將相應的源文件添加到構建目標中。

您可以按照這種方式添加任意數量的個人存儲庫。

這會在未來崩潰嗎?

不,配置不應該導致任何崩潰。

有一個告誡,這種方法,如果你有合作者。由於您沒有共享* .xcodeproj文件,因此當其他人修改文件結構或添加或刪除文件時,您的構建設置和文件引用將不會更新。您可能會發現自己每次從遠程計算機上執行操作時都必須手動更新本地項目中的文件引用,否則可能會遇到構建錯誤。

Xcode是否準備以這種方式工作?

從我的經驗來看,它可以正常工作。如果你傾向於使用Xcode接口來管理git,那麼請注意,Xcode只識別源代碼管理下的文件,用於回收它已經「簽出」的文件。根據我所看到的,Xcode會自動爲它在當前項目目錄或任何文件夾或組引用中找到的任何回購站點執行此操作。

此外,如果一個文件一次屬於兩個或多個回購,它會有點問題; Xcode只會與其中一個進行交互,而我不知道是否有任何方法可以選擇。如果不嵌套存儲庫,這應該很容易避免。

在Xcode 5中,您可以看到在「源代碼管理」菜單的「工作副本」下籤出了哪個git回購站。 Xcode還可以在文件檢查器的「源代碼管理」下告訴你每個文件屬於哪個回收站。

是否有可能在同一個Xcode項目中有多個存儲庫?

是的。您可以在Xcode項目目錄下並排存放多個存儲庫,就像您可以在其他任何地方一樣。事實上,您可以輕鬆地將您的Repos文件放到文件系統的其他位置,並通過引用將它們添加到您的項目中;您不必將所有git repos /源文件存儲在該目錄中以使其正常工作。

希望有所幫助。

相關問題