Intereting Posts
Переход от централизованного рабочего процесса к распределенному Как получить выбор из создателя ветки из stash Проблема с внедрением «Войти с Github» в приложении iOS Как я могу использовать SVN в качестве контроля версий для разработки небольшого веб-сайта с двумя разработчиками дома? Могу ли я проверить ветку git, не удаляя другие осиротевшие ветви из моих локальных файлов? Плагин «SVN Blame» для VisualStudio Есть ли способ диагностировать, почему git init –bare не создает определенные каталоги? Почему я получаю «/ RCS / trunk, v: Нет такого файла или каталога», когда я пытаюсь проверить SVN? git cherrypick, merge, rebase или иначе, с долгоживущими ветвями / темами Git (SourceTree): изменения файла отчета без дубликатов в интервале дат Восстановление файлов в git-репо без фиксации замените файл в моем репозитории svn, используя java и commit Установка GIT в Windows? В git, в чем разница между фиксацией (-ами) и ревизией (-ами) как извлекать патчи фиксации из репозитория git

Как сделать композитор подходящим?

Я использую композитор для управления зависимостями из двух проектов symfony2. Поскольку эти 2 проекта имеют некоторые общие вещи, я создал (частный) общий пакет, который требуется как в composer.json

Вот мой композитор.json:

{ "name": "symfony/framework-standard-edition", "description": "The \"Symfony Standard Edition\" distribution", "repositories": [ { "type": "vcs", "url": "git@git.local:commonbundle.git" } ], "require": { "php": ">=5.3.3", "symfony/symfony": "2.2.*", "doctrine/orm": ">=2.2,<3.0,>=2.2.3", "doctrine/doctrine-bundle": "1.2.*", "twig/extensions": "1.0.*", "symfony/assetic-bundle": "2.1.*", "symfony/swiftmailer-bundle": "2.2.*", "symfony/monolog-bundle": "2.2.*", "sensio/distribution-bundle": "2.2.*", "sensio/framework-extra-bundle": "2.2.*", "sensio/generator-bundle": "2.2.*", "jms/security-extra-bundle": "1.4.*", "jms/di-extra-bundle": "1.3.*", "kriswallsmith/assetic": "1.1.*@dev", "doctrine/common": "2.4.*@dev", "doctrine/data-fixtures": "dev-master", "doctrine/doctrine-fixtures-bundle": "dev-master", "gmp/common-bundle" : "dev-master" }, "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" ] }, "extra": { "symfony-app-dir": "app", "symfony-web-dir": "web", "symfony-assets-install": "symlink", "branch-alias": { "dev-master": "2.2-dev" } } } 

Это прекрасно работает. Но я хотел бы иметь возможность изменять и фиксировать изменения в общем пакете из моих двух проектов.

Я хочу сказать, что общий пакет не является независимым и не работает автономно. Это просто удобный способ не дублировать классы между двумя моими проектами. Поэтому изменения в общем комплекте всегда происходят из одного из моих двух проектов. Как я могу сделать общий пакет доступным для моих проектов?

Когда вы запускаете установку композитора в одном из ваших основных проектов, если вы используете –prefer-source, вы должны иметь возможность записывать CD в каталог поставщика вашего общего пакета, вносить изменения и передавать их обратно.

Можете ли вы добавить репозиторий commonbundle в каждый проект как подмодуль git?

 cd /path/to/Proj1 git submodule add path/to/commonbundle commonbundle git commit -m "added submodule" [repeat for Proj 2]