我正在使用作曲家和链接的git存储库安装我们的PHP应用程序。安装后,克隆的存储库有两个配置的Git遥控器,"作曲家"one_answers" 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远程"作曲家"时,它可以正常工作,但这不是非常可扩展/高效。
$> git remote rm composer
我的作曲家或我想实现这一目标的方式可能是什么?
编辑:composer.json是基于https://getcomposer.org/doc/01-basic-usage.md创建的 - 如果我启动新鲜并且只需要单个模块,没有依赖关系,然后做compser create-project
,结果是相同的:两个遥控器"作曲家"one_answers"原始"都可以使用。
更新:我尝试使用基于作曲家文档的单个GIT公共回购独白/独白来做同样的事情,这导致了相同的两个遥控器。
从头开始的测试柜:
{
"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
运行 git branch -a
以查看您的分支。
它应该看起来像
* master
remotes/origin/master
remotes/origin/branchname
remotes/composer/master
如果没有 local 分支branchname
您可以
git fetch origin
git checkout --track origin/branchname
从origin
跟踪branchname
。