Работа с 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):
Ещё давайте изменим first.txt и second.txt дописав в них фразы commit in new branch
Отлично, мы создали новый файл(file-in-new-branch.txt) в новой ветке и имзенили два предыдущих. Чтобы изменения записались в репозиторий выполним уже изученные комманды:
git add .
git commit -m 'Commit-in-new-branch'
Результат:
Теперь давайте перейдем обратно в ветку master командой:
git checkout master
И если посмотреть теперь на файлы нашего проекта, то мы не увидим файла** file-in-new-branch.txt** и изменений в первых двух файлах. Они не пропали и не удалились, а остались в ветке new. К ним так же можно обрано вернуться: git checkout new
Megre веток
Для выполнения операции слияния веток необходимо находиться в той ветке, которую вы желаете объединить с другой веткой. В нашем случае мы должны находиться в ветке master для слияния с new.
git merge new
Ветки объединилсь и теперь всё что находилось в ветке new - есть и в основной ветке master. После слияния веток, обычно удаляют дополнительную ветку:
git branch -d new
Текущую ветку (в которой находитесь сейчас) удалить нельзя!
Мы произвели слияние второй ветки с главной, после чего удалили её.
В следующем уроке поговорим, как загрузить проект на удаленный репозиторий на Git-hub