У меня есть основная ветка и ветка релиза. Когда я буду готов к новой нумерованной версии выпуска, я хочу, чтобы она была обновлена с основной веткой, но поддерживаю разные версии composer.json и auth.php в каждой ветви.
Мой composer.json требует некоторых dev-master
версий в ветке dev, но в ветке релизов должны быть только версии с версиями. auth.php содержит различные учетные данные базы данных для серверной / выпускной версии по сравнению с локальной версией разработки.
Я новичок в git, кроме базовых коммитов.
Вот что я сделал для своей самой первой версии релиза
git clone ...
cd ...
git checkout -b release
nano composer.json //and change dev-master requires to 0.1.* requires
nano auth.php //and change db credentials
git add -A
git commit -m "composer and auth changes for release"
git push origin release
git tag -a 0.1.0
git push origin 0.1.0
Тогда я могу написать композитору 0.1.*
, и он работает!
Что я хочу сделать для следующей версии:
git clone ...
cd ...
git checkout --track origin/release //to switch to the release branch
git merge ... //get changes from master, but DO NOT overwrite the release-version's composer.json or auth.php
git push origin release
git tag -a 0.1.1
git push origin 0.1.1
Тогда я бы зашёл на свой сервер и composer update
, чтобы добраться до последней версии моего сайта (которая находится в закрытом хранилище).
Как мне сделать строку слияния git во втором блоке кода git?