Я собираюсь оспорить предпосылку и сказать:
Не делай этого.
Как правило, вы должны стараться максимально приблизиться к производственному выпуску во время разработки. Это означает тестирование в среде, близкой к рабочей, с использованием данных, близких к рабочим данным, и с использованием версий зависимостей, которые будут использоваться в рабочей среде. Любое отклонение от этого увеличивает риск пропуска ошибок, которые скрыты этим отклонением.
Иногда неизбежно отклоняться от производства (новая версия зависимости требуется для новой функции, производственные данные не могут быть использованы из-за соображений конфиденциальности и т. Д.), Но к этой цели следует стремиться.
Тем не менее, если вы абсолютно должны иметь разные зависимости во время разработки:
Потому что, если в основном приложении нам нужны версии для разработчиков, каждый должен
не забудьте изменить его до слияния с мастером.
Это, кажется, указывает на то, что вы разрабатываете функции в ветвях, а затем объединяетесь с мастером.
Если это так, то самым чистым решением было бы изменить на производственные версии до слияния .
Весь смысл наличия функциональных ветвей состоит в том, чтобы протестировать код перед его слиянием. Правильное тестирование требует использования зависимостей, которые будут использоваться на мастере. Итак, ваш рабочий процесс слияния должен быть:
- переключение версий зависимостей на «производственные версии» (вы можете взломать скрипт, чтобы сделать это, если много работы)
- перепроверить все, чтобы убедиться, что коммутатор не сломал все
- слияние (без конфликтов слияния в
composer.json
, потому что на мастере то же самое)