你要管理的git子項目2的主要選擇。
Git不會有任何依賴性經理和最常用的選項如下:
Submodules
允許將外部存儲庫嵌入源樹的專用子目錄中,始終指向特定的提交。
git submodule
爲了使用子模塊的每個文件夾將是一個獨立的存儲庫,並進行管理,並存儲在不同的位置。 Git將簽出特定的提交(提交,版本,標籤等)並將其用作子模塊的HEAD。大多數情況下子模塊將處於分離的HEAD中。
# once you have a repo simply add it to git
git submodule add <url>
一旦投影被添加到你的回購,你必須初始化和更新它。
git submodule init
git submodule update
作爲GIT中的1.8.2新選項--remote
加入
git submodule update --remote --merge
將fetch
從上游每個子模塊中的最新變化,merge them in
,和check out
子模塊的最新版本。
由於the docs形容它:
--remote
此選項僅適用於update命令。使用子模塊的遠程跟蹤分支的狀態,而不是使用超級項目的已記錄的SHA-1來更新子模塊。
這相當於在每個子模塊中運行git pull。
如何解決或子模塊內部的變化代碼?
使用子模塊將會把你的主要項目中的代碼作爲其內容[新文件夾]的一部分。
將它置於文件夾內部或將其作爲子模塊的一部分之間的區別在於,在子模塊中,內容被管理(提交)到不同的獨立存儲庫,如上所述。
這是一個子模塊 - 項目在另一個項目中,其中每個項目是一個獨立的項目的說明。
git subtree
的Git樹允許你插入任何存儲庫中的另一個
一個子目錄非常相似,submodule
,但主要區別在於代碼的管理位置。在子模塊中,內容被放置在單獨的回購站中,並在那裏進行管理,以便您將其克隆到其他許多回購站。
subtree
被管理內容作爲根項目的一部分,而不是在一個單獨的項目。
而不是寫下如何設置和理解如何使用它,你可以簡單地閱讀這個優秀的文章,這將解釋這一切。
https://developer.atlassian.com/blog/2015/05/the-power-of-git-subtree/
使用子模塊進行調查。他們並不完美,但他們可能會解決你的問題。 –
@TimBiegeleisen:鏈接?而且 - 你的意思是說這是GitHub功能還是git功能? – einpoklum
這是一個:http://blog.joncairns.com/2011/10/how-to-use-git-submodules/ –