我遇到一个问题,Composer将私有软件包设置为无分支(HEAD
),而且只发生在带有标记的软件包上。
当我在Composer中需要私有存储库时,它如下所示:
"require": {
...
"vendorname/testbundle": "1.0.5"
},
"repositories": [
{ "type": "git", "url": "git@bitbucket.vendorname/testbundle.git" },
],
我发现这实际上是Composer的预期行为,但有没有办法强制它设置为master
分支?
已更新
我认为我目前的想法有点偏离原来的问题,但我是初学者,我不确定我是否完全理解作曲家的行为。
所以,情景是:
我开发了一个包,让我们说DemoPackage并创建了一个开发和主分支。 Dev会保留新功能,当它们稳定时,我会将它们合并到master和tag中,用于标记某些更改。几个月后,我决定完全重写该包,所以我将从master分支中的最新提交创建一个新的分支v1,并开始在dev中开发v2。但又过了几个月后,事实证明我需要为v1分支开发一个新功能,而我不明白的是,如果我要为分支v1添加一个新标签,那么作曲家会发现它不在主人中科?
我会遵循这个流程吗?
答案 0 :(得分:0)
php composer.phar require vendorname/testbundle:dev-master
我不明白的是,如果我要在分支v1中添加新标签,那么作曲家是否会在主分支中找到它?
具体取决于您在composer.json
:
v1
分支添加新提交,但仍需要获取最新的v1-dev
。 v1
分支的最新提交上添加标记并使用它。请参阅" Librarie: Specifying the version"。