我有一个问题,作曲家设置一个私有包没有分支(HEAD
),它只发生在包有标签。
当我在Composer中需要一个私有存储库时,它看起来像下面:
"require": {
...
"vendorname/testbundle": "1.0.5"
},
"repositories": [
{ "type": "git", "url": "git@bitbucket.vendorname/testbundle.git" },
],
我发现这实际上是一个预期的行为,从作曲家,但有一种方法来强迫它设置为master
分支?
我认为我现在的想法有点偏离了最初的问题,但我是初学者,我不确定我是否完全理解作曲家的行为。
那么,场景是:
我已经开发了一个包,比如demoppackage,并创建了一个开发和主分支。Dev将保留新功能,当它们稳定时,我会将它们合并到master中,并标记提交以标记某些更改。几个月后,我决定完全重写这个包,所以我会从主分支的最新提交中创建一个新的分支v1,并开始在dev中开发v2。但又过了几个月,我发现我需要为v1分支开发一个新功能,我不明白的是,如果我要向分支v1添加一个新标签,如果它不在主分支中,编者会发现它吗?
我要遵循的流程可以吗?
您需要更改需求:
php composer.phar require vendorname/testbundle:dev-master
我不明白的是,如果我要添加一个新的标签分支v1作曲家会发现它,如果它不在主分支?
这取决于你如何在composer.json
中指定版本:
- 您可以向
v1
分支添加新的提交,而需求仍然会选择最新的v1-dev
。 - 或者你可以在
v1
分支的最新提交上放一个标签并使用它。
参见" library:指定版本"