【问题标题】:"No branch" when installing with composer.json使用 composer.json 安装时“无分支”
【发布时间】:2012-08-30 07:54:27
【问题描述】:

我有自己的带有 composer.json 的包“MyBundle”:

{
    "name": "mybundle",
    "require": {
        "propel/propel-bundle": "1.1.3",
        "friendsofsymfony/user-bundle": "dev-master"
    },
    "autoload": {
        "psr-0": { "": "src\" }
    },
    "target-dir": "MyBundle/"
}

当我尝试使用 composer ("mybundle": "dev-master") 进行检查时,一切正常,但它位于“无分支”分支上。

如何为已安装的 bundle 设置一个分支(“master”)?

【问题讨论】:

    标签: composer-php


    【解决方案1】:

    由于 composer 安装工作的方式以及它需要能够安装特定版本的分支,这是不可能的。当你这样做时,git 最终会处于无头状态。

    如果您需要在已安装的捆绑包中工作并推送一些提交,只需在执行此操作之前确保您git checkout master。如果您忘记并提交了更改,您也可以只签出 master,然后将您所做的更改合并到它上面。

    更新:如果您签出的提交与分支的最后一次提交匹配,Composer 现在会按名称签出分支。

    【讨论】:

    • 我知道 Composer 这样做是有原因的,但是当你作为团队的一员在捆绑包中做很多工作时,你自然会发现自己在 composer update 做很多事情——它会如果有一个更可靠的解决方法来记住首先结帐主/忘记时合并,那就太好了。也许是一种可配置的方式来定义您希望哪些包始终位于特定分支上,并将分离头与该分支的状态进行某种比较?
    • 如果分支与当前引用的提交相同,也许我们可以签出分支是的。你能在 github 上为此打开一个问题吗?
    猜你喜欢
    • 2016-02-29
    • 2019-04-22
    • 2019-03-22
    • 1970-01-01
    • 2014-07-31
    • 2012-11-11
    • 2018-06-06
    • 2017-03-26
    • 2018-08-09
    相关资源
    最近更新 更多