Тур по Git
Ветвление и слияние / Урок 2.4

git merge -- Объединение работы

Команда git merge интегрирует изменения из одной ветки в другую. Именно так вы возвращаете работу над функциональностью обратно в main.

Как работает слияние

Когда вы выполняете git merge feature, находясь на ветке main:

  1. Git находит общего предка обеих веток
  2. Он объединяет изменения с обеих сторон
  3. Он создаёт новый коммит слияния с двумя родителями
main:     A --- B --- C ------- M
                 \             /
feature:          D --- E ----

Коммит слияния M имеет двух родителей: C (из main) и E (из feature).

Fast-Forward слияние

Если main не продвинулась с момента создания ветки, Git может просто передвинуть указатель вперёд -- коммит слияния не нужен:

До:      main → A --- B    feature → C --- D
После:   main → A --- B --- C --- D ← feature

Попробуйте!

Создайте ветку с функциональностью и выполните слияние:

  1. Создайте коммит в main: echo "base" > base.txt, затем git add base.txt, затем git commit -m "Add base"
  2. Создайте и переключитесь на feature: git checkout -b feature
  3. Добавьте коммит с функциональностью: echo "feature" > feature.txt, затем git add feature.txt, затем git commit -m "Add feature"
  4. Вернитесь на main: git checkout main
  5. Выполните слияние: git merge feature

Наблюдайте за графом -- вы должны увидеть коммит слияния, соединяющий обе линии истории.

После слияния

После слияния ветка с функциональностью больше не нужна. Наведите порядок:

git branch -d feature

Коммиты из ветки сохраняются в истории main через коммит слияния.

🎯

Цель

Создайте ветку feature, сделайте коммит, затем слейте её в main

Terminal
$

No commits yet. Run `git init` and create your first commit.