我使用Composer安装了Symfony 2(遵循'主'指南),并创建了这个.git / config文件:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git://github.com/symfony/symfony-standard
pushurl = git@github.com:symfony/symfony-standard.git
[branch "master"]
remote = origin
merge = refs/heads/master
[remote "composer"]
url = git://github.com/symfony/symfony-standard
fetch = +refs/heads/*:refs/remotes/composer/*
我不想干扰Composer在这里所做的事情,因为我不知道它是如何工作的,我希望将来能够更新供应商。
那么如何为'myapp'添加我自己的存储库并提交/推送呢?我通常会'git remote add origin ...'并且只能使用它,但现在文件中有两个存储库,加上我需要添加的存储库。
更新
我用这个命令安装了Symfony2:
$ php composer.phar create-project symfony/framework-standard-edition myapp
这创建了myapp /并安装了Symfony2 +依赖项。但是现在composer.json看起来并没有准备好用于我的项目,看起来我的项目是Symfony2本身(我认为):
{
"name": "symfony/framework-standard-edition",
"description": "The \"Symfony Standard Edition\" distribution",
"autoload": {
"psr-0": { "": "src/" }
},
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.1.*",
"doctrine/orm": "2.2.*",
"doctrine/doctrine-bundle": "dev-master",
"twig/extensions": "dev-master",
"symfony/assetic-bundle": "dev-master",
"symfony/swiftmailer-bundle": "dev-master",
"symfony/monolog-bundle": "dev-master",
"sensio/distribution-bundle": "dev-master",
"sensio/framework-extra-bundle": "dev-master",
"sensio/generator-bundle": "dev-master",
"jms/security-extra-bundle": "1.1.*",
"jms/di-extra-bundle": "1.0.*"
},
"scripts": {
"post-install-cmd": [
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
],
"post-update-cmd": [
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
]
},
"config": {
"bin-dir": "bin"
},
"minimum-stability": "dev",
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web"
}
}
主要指南
答案 0 :(得分:8)
您可以安全地删除 .git 文件夹并运行 git init 来初始化您自己的回购,就像@ m2mdas建议的那样。
Composer在这里没有做任何特别的事情。它只是克隆symfony-standard项目,然后安装其依赖项。
Composer克隆存储库但不需要 .git 文件夹。实际上我认为默认情况下不应该克隆项目。他们可能会在未来版本中修复它。
Composer使用 composer.json 文件,您应该使用这个文件管理所有依赖项。您可以安全地编辑它以添加或删除包。
然后,要更新包,只需运行:
php composer.phar update
将删除从composer.json中删除的所有包,将安装您添加的包。现有包将更新为最新版本。
您应该将生成的composer.lock文件存储在repo中,以确保在运行时始终获得相同版本的依赖项:
php composer.phar install
当您第一次运行install并使用每个更新命令时,都会更新composer.lock。