![Работа с Git: merge - слияние веток #4](/_next/image?url=https%3A%2F%2Fproghunter.ru%2Fmedia%2Fimages%2Fthumbnails%2F2023%2F05%2F11%2Fimage-db53c810e0.png&w=3840&q=90)
Работа с Git: merge - слияние веток #4
В прошлой статье мы создали новую ветку newbranch. Сейчас мы ее дополним и сделаем слияние с основной веткой master
Что такое merge?
Merge - это процесс объединения изменений из одной ветки Git с другой веткой. При выполнении операции merge Git сравнивает две ветки и создает новый коммит, содержащий все изменения из обеих веток. Этот коммит объединяет истории изменений двух веток и становится новой точкой слияния веток.
Merge может быть выполнен между любыми двумя ветками в Git, но наиболее распространенный случай - объединение изменений из ветки feature (функциональности) в ветку master (основная ветка). Это позволяет добавлять новые функции в основную ветку и сохранять историю изменений в отдельной ветке, не нарушая работу основной ветки.
Изменим нашу вторую ветку new.
Я создам третий файл txt под названием file-in-new-branch.txt и заполню его фразой file in new branch.
Вот так выглядит наш проект сейчас (ветка new):
![ветка new](/_next/image?url=https%3A%2F%2Fproghunter.ru%2Fmedia%2Fimages%2Fuploads%2F2023%2F05%2F11%2F7aab373152-uploaded-image.png&w=3840&q=75)
Ещё давайте изменим first.txt и second.txt дописав в них фразы commit in new branch
![first.txt](/_next/image?url=https%3A%2F%2Fproghunter.ru%2Fmedia%2Fimages%2Fuploads%2F2023%2F05%2F11%2Fdc1a268391-uploaded-image.png&w=3840&q=75)
![second.txt](/_next/image?url=https%3A%2F%2Fproghunter.ru%2Fmedia%2Fimages%2Fuploads%2F2023%2F05%2F11%2Fb809de6160-uploaded-image.png&w=3840&q=75)
Отлично, мы создали новый файл(file-in-new-branch.txt) в новой ветке и имзенили два предыдущих. Чтобы изменения записались в репозиторий выполним уже изученные комманды:
git add .
git commit -m 'Commit-in-new-branch'
Результат:
![git status](/_next/image?url=https%3A%2F%2Fproghunter.ru%2Fmedia%2Fimages%2Fuploads%2F2023%2F05%2F11%2F1a7ea222d1-uploaded-image.png&w=3840&q=75)
Теперь давайте перейдем обратно в ветку master командой:
git checkout master
И если посмотреть теперь на файлы нашего проекта, то мы не увидим файла** file-in-new-branch.txt** и изменений в первых двух файлах. Они не пропали и не удалились, а остались в ветке new. К ним так же можно обрано вернуться: git checkout new
![проект в ветке master](/_next/image?url=https%3A%2F%2Fproghunter.ru%2Fmedia%2Fimages%2Fuploads%2F2023%2F05%2F11%2F9c58498f0b-uploaded-image.png&w=3840&q=75)
Megre веток
Для выполнения операции слияния веток необходимо находиться в той ветке, которую вы желаете объединить с другой веткой. В нашем случае мы должны находиться в ветке master для слияния с new.
git merge new
![результат merge](/_next/image?url=https%3A%2F%2Fproghunter.ru%2Fmedia%2Fimages%2Fuploads%2F2023%2F05%2F11%2Fccc1689a50-uploaded-image.png&w=3840&q=75)
Ветки объединилсь и теперь всё что находилось в ветке new - есть и в основной ветке master. После слияния веток, обычно удаляют дополнительную ветку:
git branch -d new
Текущую ветку (в которой находитесь сейчас) удалить нельзя!
![Удаление ветки](/_next/image?url=https%3A%2F%2Fproghunter.ru%2Fmedia%2Fimages%2Fuploads%2F2023%2F05%2F11%2F322f5545f4-uploaded-image.png&w=3840&q=75)
Мы произвели слияние второй ветки с главной, после чего удалили её.
В следующем уроке поговорим, как загрузить проект на удаленный репозиторий на Git-hub