Как правильно мержить master в test после хотфикса
Иногда разработка — это не только новые фичи и красивые интерфейсы, но и аккуратная работа с ветками.
Если у вас есть стабильная ветка master (продакшен) и живая ветка test (разработка), то вопрос
«как правильно вернуть хотфикс из master в test» рано или поздно встанет перед любой командой.
Почему это важно
Хотфикс — это срочное исправление бага на продакшене.
Он делается от master, потому что только эта ветка гарантированно стабильна.
Но если вы не вернёте эти правки обратно в test, они пропадут при следующем релизе.
Так теряются фиксы, баги возвращаются, а разработчики потом ищут виноватых.
Правильный порядок действий
1. Делайте хотфикс от master
Хотфиксы живут только здесь — в стабильной ветке.
git checkout master
git pull origin master
git checkout -b hotfix/fix-user-validation
# правим баг
git commit -m "fix(user): correct validation on profile update"
После проверки и релиза:
git checkout master
git merge --no-ff hotfix/fix-user-validation
git push origin master
2. Сразу же подтяните master в test
Это главный шаг.
Так вы не дадите веткам разойтись и сохраните фикс в истории разработки.
git checkout test
git pull origin test
git merge origin/master
# при необходимости — решаем конфликты
git push origin test
3. Если в test код уже другой
Не всегда можно просто «влить» изменения.
Иногда тот кусок кода уже переписан.
В таком случае переносите смысл хотфикса, а не сам код.
Посмотрите, что именно исправлялось, и внесите аналогичное исправление в актуальную реализацию.
4. Когда merge не подходит — используйте cherry-pick
Если master и test сильно разошлись, можно просто забрать нужный коммит:
git checkout test
git cherry-pick <commit_hash>
Так вы перенесёте только нужное исправление, без мержей и лишних конфликтов.
Как делают в командах
- 🔁 После каждого хотфикса — merge
master → test - 🧩 Если код изменился — перенос логики вручную
- 💬 Коммит с понятным описанием, например:
Merge master into test after hotfix fix-user-validation - 🕐 Чем чаще синхронизируете — тем меньше конфликтов
Главное запомнить
- Хотфиксы всегда от
master. - После релиза — merge
master → test. - Не бояться конфликтов, но понимать контекст.
- Не терять исправления.
Вывод
Git — не сложный.
Он просто требует внимания и порядка.
Делайте хотфиксы аккуратно, синхронизируйте ветки сразу — и проект всегда будет в форме.
________________________
