2013-01-23 68 views
7

我想只需要git倉庫的一個子部分(而不是完整的東西)。我想這樣做的原因是因爲存儲庫非常龐大。如何使用composer安裝git存儲庫的一部分?

在我的情況下,存儲庫是:https://github.com/pubnub/pubnub-api.git,我只想要/ php目錄。

我在作曲中定義的下列包:

{ 
      "type": "package", 
      "package": { 
       "name": "pubnub", 
       "version": "dev-master", 
       "source" : { 
        "url": "https://github.com/pubnub/pubnub-api.git", 
        "type": "git", 
        "reference":"master" 
       } 
      } 
    }, 

任何提示嗎?

+1

請記住,您所能做的最好的方法是檢索裸倉庫(工作目錄中沒有任何內容),然後檢查'php'中的文件。你仍然會用* git clone *來結束所有的歷史(因爲我認爲Composer在幕後)。 –

+0

我正在尋找相同的行爲。運氣好的話? – sectus

+1

我有興趣獲得作曲家庫的一部分。 – sectus

回答

1

似乎php目錄已經被移到了自己的倉庫https://github.com/pubnub/php。這可能幫助這個項目,但不知道如何從主要回購和作曲家做到這一點...

+0

哦,我需要另一個不分割的存儲庫。 – sectus

+0

@flavien,謝謝你的提示,但它不回答一般問題。 –

9

給出了答案,以"Is there any way to clone a git repository's sub-directory only?""No"和子目錄結賬的功能將被作曲家須滿足所期望的功能,那麼我建議最好的作曲家可以做的是檢查整個事情,然後刪除你不想要的東西。

總之:不可能。

更長的回答: 是git可以做sparse checkout所以理論上作曲家可能有一天會支持該功能。您可以使用autoload字段僅加載所需的代碼部分(即,不加載整個庫)。

相關問題