Я установил Symfony 2 с Composer (следуя основным руководствам), и он создал этот файл .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 = [email protected]: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"
}
}
Основные руководства
- http://symfony.com/doc/master/book/installation.html (для первого шага, загрузки symfony, я использовал команду composer, как показано здесь: http://symfony.com/download)
- http://symfony.com/doc/master/cookbook/workflow/new_project_git.html (это кажется устаревшим, поскольку в нем говорится, что мы должны выполнить «git init», но git-репозиторий уже создан композитором)
.git
в корневом каталоге и снова выполнитьgit init
. - person Mun Mun Das   schedule 20.07.2012composer.phar create-project
клонирует проект, считывает зависимость из файлаcomposer.json
, клонирует их и помещает в каталог поставщика и соответственно генерируетautoload.php
И удаляет папку.git
в корневом каталоге. Так что, если вы будете следовать документу рабочего процесса git, это не будет большой проблемой. Как вы видели в документе, папка поставщика указана в файле.gitignore
. Поэтому, если вы создадите новый голый репозиторий после удаления папки.git
, git не будет смотреть на папку поставщика. Вы можете просто ввестиphp composer.phar update
для обновления библиотек. Он также портативный. - person Mun Mun Das   schedule 20.07.2012