git - 如何强制 Composer 检查 `master` 分支?

标签 git composer-php

我遇到的问题是 Composer将私有(private)包设置为无分支 (HEAD),并且仅发生在具有标签的包上。

当我在 Composer 中需要一个私有(private)存储库时,它如下所示:

"require": {
    ...
    "vendorname/testbundle": "1.0.5"
},
"repositories": [
    { "type": "git", "url": "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a4c3cdd0e4c6cdd0c6d1c7cfc1d08ad2c1cac0cbd6cac5c9c1" rel="noreferrer noopener nofollow">[email protected]</a>/testbundle.git" },
],

我发现这实际上是 Composer 的预期行为,但是有没有办法强制它设置为 master 分支?

已更新
我认为我目前的想法有点偏离原来的问题,但我是一个初学者,我不确定我是否完全理解 Composer 的行为。

所以,场景是:
我开发了一个包(比如 DemoPackage)并创建了一个 dev 和 master 分支。开发人员将保留新功能,当它们稳定时,我会将它们 merge 到主版本和标记中,以标记某些更改。几个月后,我决定完全重写该包,因此我将从 master 分支中的最新提交创建一个新分支 v1,并开始在 dev 中开发 v2。但又过了几个月,我发现我需要为 v1 分支开发一个新功能,我不明白的是,如果我要向 v1 分支添加一个新标签,如果它不在 master 中, Composer 会找到它吗?分支?

我遵循的流程可以吗?

最佳答案

您需要change the requirements :

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

what I don't understand is if I'm going to add a new tag to branch v1 would composer find it if it's not in master branch?

这取决于您在 composer.json 中指定版本的方式:

  • 您可以向 v1 分支添加新的提交,并且 require 仍会获取最新的 v1-dev
  • 或者您可以在更新的 v1 分支的最新提交上放置一个标签并使用它。

参见“Librarie: Specifying the version”。

关于git - 如何强制 Composer 检查 `master` 分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25466695/

相关文章:

Git 凭证管理器 - 启用代理时不加载

git - 通过 Git 部署网站

composer-php - 将自定义包添加到 composer.json 文件

twitter-bootstrap - 无法使用 composer 安装或更新 Packagist 包 "twbs/bootstrap"

symfony2 bundle 更新程序

git - 如何从整体上搜索一段代码

git - Git 的 Brew 更新错误

git - 如何将 git commit hash 分配给 Jenkins 文件中的变量

php - Composer 中用于开发和生产的不同软件包版本

php Composer windows安装奇怪的目录错误