我正在使用composer和链接的git存储库安装我们的PHP应用程序。安装后,克隆的存储库配置了两个git遥控器,“composer”和“origin”。
composer.json
"require": {
[...]
"mycompany/myrepository": "dev-master",
},
[...]
"repositories": [
{
"type": "vcs",
"url": "git@bitbucket.org:mycompany/myrepository.git"
},
在作曲家完成安装之后:
$> git remote show
composer
origin
当我想切换到存储库上的任何可用功能分支时,它会因git错误而失败。
$> git fetch && git checkout branchname
error: pathspec 'branchname' did not match any file(s) known to git.
当我删除git remote'composer'时,它工作正常,但效率不高。
$> git remote rm composer
我的composer.json或我希望实现的方式可能有什么问题?
编辑:
composer.json当时是基于https://getcomposer.org/doc/01-basic-usage.md创建的 - 如果我重新开始并且只需要一个模块,没有依赖项等,然后执行compser create-project
,结果是相同的:两个遥控器“作曲家”和“原点”可供选择。
更新: 我尝试使用基于作曲家文档的单个git public repo monolog / monolog做同样的事情,并且它导致了同样的两个遥控器。
从头开始测试:
{
"require": {
"monolog/monolog": "dev-master"
},
"require-dev": {
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/Seldaek/monolog"
}
]
}
$ composer create-project
$ cd vendor/monolog/monolog
$ git remote show
composer
origin
答案 0 :(得分:1)
运行git branch -a
以查看您拥有的分支机构。
应该看起来像
* master
remotes/origin/master
remotes/origin/branchname
remotes/composer/master
如果没有本地分支branchname
,您可以
git fetch origin
git checkout --track origin/branchname
从branchname
跟踪origin
。