2017-05-04 61 views
1

我在Git中有一個私有存儲庫,並且我已經設法使它與作曲家一起正常工作。不過,有一件事我不喜歡:當我指定版本庫時,我不得不說dev-master,以獲取主分支。我想要的是能夠指定存儲庫版本。那麼,如何配置我的存儲庫以允許其他使用版本標識符的庫作爲依賴項?正確版本化一個私人作曲家庫

這是我包的composer.json,它駐留在我的唯一master分支:

{ 
    "name": "username/packagename", 
    "type": "mytype", 
    "version": "1.0.0" 
} 

然後在另一個項目中,我想包括這個包我有這樣的composer.json:

{ 
    "repositories": [ 
    { 
     "type": "git", 
     "url": "[email protected]:username/packagename.git/" 
    } 
    ], 
    "require": { 
    "username/packagename": "dev-master" 
    }, 
} 

正如你所看到的,我不得不說'dev-master'從我的主分支得到我的包,但我想能夠說'1.0.0'或'^ 1.0.0'或任何其他作曲家版本操作可用。在我的包結構中,我必須做些什麼才能實現正確的版本控制行爲?

在此先感謝!

回答

1

創建一個標籤,並在此之前:刪除version條目composer.json文件中。對於在主分支創建標記

用例:

git checkout master 
git tag -a 1.0.0 
git push --follow-tags 

使用註釋標籤將記錄創建標籤的日期和用戶名。 Git會要求一條消息,這對大多數人來說是無關緊要的,所以你可以填寫任何你喜歡的東西。我通常選擇重複標籤名稱。

在標記版本之前刪除version條目應該很明顯。 :)

+0

嗨斯文,謝謝你的幫助,你能給我一個基本的使用例子嗎? –

+0

更新了我的答案。 – Sven

+0

不錯,非常感謝Sven,我懂了它的工作原理!現在我指定了一個版本「^ 1.0.0」,它工作的很好,我希望它能在我添加一個新版本後仍然有效:)只是說明:可能你的意思是'git tag -a v1.0.0'而不是?因爲我在前面添加了一個沒有v的版本標籤,並且它沒有被作曲者識別。 –

相關問題