← Все вопросы

Как слить одну ветку в другую с помощью git merge?

Задан 5 месяцев назад1.4к просмотров2 ответа
8

Доделал фичу в ветке feature, теперь надо влить её в main. Не пойму, на какой ветке запускать merge и в каком направлении. Как правильно слить ветку в main?

2 ответа

9
✓ Принятый ответ — помог автору

Главное правило: сначала переключись на ветку, КУДА вливаешь, потом мёрджи ту, ОТКУДА берёшь.

Чтобы влить feature в main:

git checkout main
git merge feature

Читается как «находясь на main, влей сюда feature». Направление — «куда» это текущая ветка, «откуда» это аргумент merge.

Перед слиянием полезно обновить main, чтобы не вливать в устаревшее:

git checkout main
git pull
git merge feature

Если всё прошло гладко — git сделает либо «fast-forward» (просто передвинет указатель), либо создаст merge-коммит. После успешного слияния ветку можно удалить:

git branch -d feature

Частая ошибка: перепутать направление — встать на feature и написать git merge main. Тогда ты вольёшь main в feature, а не наоборот, и main останется без твоих изменений. Всегда спрашивай себя: «на какой ветке я стою?» (проверь git branch) — именно туда попадут изменения.

3

Запомни схему: git merge тянет изменения в текущую ветку.

  • Хочешь обновить main фичей: встань на main, мёрдж feature.
  • Хочешь подтянуть свежий main в свою feature: встань на feature, мёрдж main.

Если работаешь в команде через GitHub/GitLab, обычно слияние в main делают не локально, а через Pull Request — так его смогут проверить ревьюеры.

Ваш ответ

Войдите, чтобы ответить на вопрос.