composer.lock git Как правильно/аккуратно решать конфликты
Primary tabs
ПРИМИЕЧАНИЕ: подход ниже можно распространять и на другим манифесты пакетов использующие .lock файлы (напр. package.json и package-lock.json), только там для обновления пакетов и вообще работы с ними
Общая идея
- оставляем composer.lock что на мастере (те, что в "главной" ветке)
- оставляем composer.json что на мастере (те, что в "главной" ветке) либо же сразу решаем тут конфликт вручную, т.к. в отличии от .lock файла тут проще разбираться)
- меняем composer.json так как нужно (если ранее просто выбрал версию мастера) - либо в ручную, либо через composer require
- выполняем composer update для нужных пакетов
Пример
Например ситуация: конфликт только в composer.lock, с моей стороны было поставлено два новых пакета - my/log и mou/php-tool, также в моем случае composer.json объединился без конфликтов в нужном состоянии),
решаю конфликт так (после выполнения ребейза и перехода в состояние конфликта):
git checkout --theirs composer.lock git add . composer update my/log mou/php-tool
- Log in to post comments
- 608 reads