Как правильно мержить 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
  • 🕐 Чем чаще синхронизируете — тем меньше конфликтов

Главное запомнить

  1. Хотфиксы всегда от master.
  2. После релиза — merge master → test.
  3. Не бояться конфликтов, но понимать контекст.
  4. Не терять исправления.

Вывод

Git — не сложный.
Он просто требует внимания и порядка.
Делайте хотфиксы аккуратно, синхронизируйте ветки сразу — и проект всегда будет в форме.

________________________

10.08.2024 · 06:52 — пробежка 32 км
10.08.2024 · 06:52 — пробежка 32 км