如何强制Composer查看`master`分支?

时间:2014-08-23 21:52:01

标签: git composer-php

我遇到一个问题,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添加一个新标签,那么作曲家会发现它不在主人中科?

我会遵循这个流程吗?

1 个答案:

答案 0 :(得分:0)

您需要change the requirements

php composer.phar require vendorname/testbundle:dev-master
  

我不明白的是,如果我要在分支v1中添加新标签,那么作曲家是否会在主分支中找到它?

具体取决于您在composer.json

中指定版本的方式
  • 您可以向v1分支添加新提交,但仍需要获取最新的v1-dev
  • 或者您可以在更新的v1分支的最新提交上添加标记并使用它。

请参阅" Librarie: Specifying the version"。