Работа с Git: merge - слияние веток #4
Администрирование

Работа с Git: merge - слияние веток #4

Ant1dot777

В прошлой статье мы создали новую ветку newbranch. Сейчас мы ее дополним и сделаем слияние с основной веткой master

Что такое merge?

Merge - это процесс объединения изменений из одной ветки Git с другой веткой. При выполнении операции merge Git сравнивает две ветки и создает новый коммит, содержащий все изменения из обеих веток. Этот коммит объединяет истории изменений двух веток и становится новой точкой слияния веток.

Merge может быть выполнен между любыми двумя ветками в Git, но наиболее распространенный случай - объединение изменений из ветки feature (функциональности) в ветку master (основная ветка). Это позволяет добавлять новые функции в основную ветку и сохранять историю изменений в отдельной ветке, не нарушая работу основной ветки.

Изменим нашу вторую ветку new.

Я создам третий файл txt под названием file-in-new-branch.txt и заполню его фразой file in new branch.

Вот так выглядит наш проект сейчас (ветка new):

ветка new
ветка new

Ещё давайте изменим first.txt и second.txt дописав в них фразы commit in new branch

first.txt
first.txt
second.txt
second.txt

Отлично, мы создали новый файл(file-in-new-branch.txt) в новой ветке и имзенили два предыдущих. Чтобы изменения записались в репозиторий выполним уже изученные комманды:

Терминал
git add .
git commit -m 'Commit-in-new-branch'

Результат:

git status
git status

Теперь давайте перейдем обратно в ветку master командой:

Терминал
git checkout master

И если посмотреть теперь на файлы нашего проекта, то мы не увидим файла** file-in-new-branch.txt** и изменений в первых двух файлах. Они не пропали и не удалились, а остались в ветке new. К ним так же можно обрано вернуться: git checkout new

проект в ветке master
проект в ветке master

Megre веток

Для выполнения операции слияния веток необходимо находиться в той ветке, которую вы желаете объединить с другой веткой. В нашем случае мы должны находиться в ветке master для слияния с new.

Терминал
git merge new
результат merge
результат merge

Ветки объединилсь и теперь всё что находилось в ветке new - есть и в основной ветке master. После слияния веток, обычно удаляют дополнительную ветку:

Терминал
git branch -d new

Текущую ветку (в которой находитесь сейчас) удалить нельзя!

Удаление ветки
Удаление ветки

Мы произвели слияние второй ветки с главной, после чего удалили её.

В следующем уроке поговорим, как загрузить проект на удаленный репозиторий на Git-hub

;