我在github上使用git進行源代碼管理和託管。我們正試圖儘可能減少回購。在github上託管項目中使用的boost的子集
我決定增加項目的推動力,該項目相對於我們的要求是相當大的。我已經提取了所需功能的一個子集。現在我對如何在git上處理這個問題感到困惑。我應該將增強的子集添加到存儲庫嗎?如果我將增強作爲子模塊添加,下載大小會有點大(我假設,我沒有測試過)。
這通常是如何完成的?
我在github上使用git進行源代碼管理和託管。我們正試圖儘可能減少回購。在github上託管項目中使用的boost的子集
我決定增加項目的推動力,該項目相對於我們的要求是相當大的。我已經提取了所需功能的一個子集。現在我對如何在git上處理這個問題感到困惑。我應該將增強的子集添加到存儲庫嗎?如果我將增強作爲子模塊添加,下載大小會有點大(我假設,我沒有測試過)。
這通常是如何完成的?
除非您有一個很好的理由否則,請將boost作爲外部依賴關係。 (根本不要將其添加到您的存儲庫)。
UPDATE其實不一個很好的選擇,見註釋
實際上,你可以避開克隆時,通過指定--depth
下載整個升壓歷史,這應該使下載大小相當接近的經典tar.gz
檔案。
有關詳情,請參閱Git shallow submodules。
在你的情況下,對於升壓綁定它將是git clone --depth 1 git://gitorious.org/boost/bind.git
,然後將回購作爲子模塊鏈接(請參閱鏈接的帖子)。
當我這樣做時,如何處理boost項目之間的依賴關係?通過使用bcp,我可以選擇boost的一個子集,並收集所有依賴關係。 – unohoo
你不能這樣做。您必須爲每個存儲庫都有一個子模塊,因此請確定您需要哪一個子模塊。更多的,你不能選擇你想克隆哪個標籤,因爲[git淺克隆到特定標籤](http://stackoverflow.com/questions/8932389/git-shallow-clone-to-specific-tag)。所以忘掉它,並在你的回購中複製你需要的東西。 – CharlesB
是的,我不認爲我可以做我想做的事。我只想留下提升作爲我認爲的外部依賴。感謝您的幫助 – unohoo