【问题标题】:Composer update without versioning没有版本控制的 Composer 更新
【发布时间】:2017-08-25 17:57:55
【问题描述】:

我正在开发一个在另一个应用程序中使用的作曲家包。该软件包位于一个单独的存储库中。时不时地,当我在开发过程中修复包中的某些内容时,我必须通过分配一个 git 标签来增加它的版本,以便使用包的应用程序可以下载它的最新版本。我最终有很多标签。

是否有更合适的方法允许在不使用数千个标签的情况下更新(composer update cmd)应用程序中正在开发的包?

假设我更改了包,提交并将更改推送到 repo。当我在应用程序的范围内执行 composer update 时,它​​会更新包,虽然它的版本没有随着最后一次更改而增加,但包的 repo 中只有新的提交。

【问题讨论】:

    标签: git version-control composer-php versioning


    【解决方案1】:

    标签太多有什么不好?

    你可以依赖分支。每次运行更新时,Composer 都会克隆存储库并检查该分支的最新提交。我强烈建议使用版本别名来依赖分支:"your/lib": "dev-feature as 2.2.0" - 这将满足在某个版本中需要此库的其他库的依赖关系,并且更清楚该分支基于哪个版本。

    【讨论】:

    • 这很有帮助。虽然感谢您提及版本别名。
    【解决方案2】:

    通常有两种方法可以通过 composer update 来更新包:tagsbranches。不想用标签,这里只讲分支。

    例如,如果你在master 分支上工作,并且希望master 分支的更改可以安装在你的应用程序中,你需要将composer.json 中的包的依赖关系更改为

    {
        "require": {
            "vendor/package": "dev-master"
        }
    }
    

    更多详情,可以参考versions

    【讨论】:

    • 很棒的一点是你可以使用dev-{branchname} 这样你就可以拉入一个开发分支而不是主分支。
    猜你喜欢
    • 2018-05-19
    • 2015-08-24
    • 2023-03-13
    • 2014-11-21
    • 2018-04-22
    • 2018-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多