Git: объединить ветку с мастером

Быстрый ответ – объединить ветку с мастером

Если вы ищете быстрый ответ, чтобы объединить ветку в master ветка – ты checkout master и merge some_branch:

$ git checkout new-branch
# ...develop some code...

$ git add .
$ git commit –m "Some commit message"
$ git checkout master
Switched to branch 'master'
$ git merge new-branch

Ты всегда checkout ветка, с которой вы сливаетесь, и merge ветка, в которой уже есть изменения.

Понимание слияния ветвей с Git

Однако если вы новичок в Git, стоит потратить несколько минут на то, чтобы понять эти команды и то, как они работают. Это удивительно просто и займет у вас долгий путь.

Примечание: В 2020 году Git (наряду с основными платформами размещения репозиториев, такими как GitHub, GitLab и т. д.) принял изменение в официальной терминологии, а имя ветки по умолчанию было изменено на main, из-за негативной коннотации слова master может повлечь за собой. Многие проекты не перенесли и не переименовали свои основные ветки, поэтому в обозримом будущем – условия master и main скорее всего, будут использоваться как взаимозаменяемые.

Одной из наиболее мощных функций Git является возможность легко создавать и объединять ветки и изменения в базе кода.

Распределенная природа Git побуждает пользователей часто создавать новые ветки и регулярно объединять их в рамках процесса разработки — и некоторые рабочие процессы Git широко используют это.

Это фундаментально улучшает рабочий процесс разработки для большинства проектов, поощряя более мелкие, более целенаправленные и детализированные коммиты, подлежащие тщательной экспертной оценке.

В наследии Системы контроля версий (как и CVS) из-за сложности слияния его могли использовать только опытные пользователи. Другие современные, но централизованные системы контроля версий, такие как Подрывная деятельность требуют внесения коммитов в центральный репозиторий, поэтому гибкий рабочий процесс с локальным ветвлением и слиянием нетипичен.

Обычно используемый рабочий процесс ветвления в Git заключается в создании новой ветки кода для каждой новой функции, исправления ошибки или улучшения.

Они называются Функциональные ветки.

Каждая ветка разделяет коммиты, относящиеся к определенной функции. Как только новая функция будет завершена (т. е. в ветке функции будет зафиксирован набор изменений), ее можно будет снова объединить с основной веткой (или другой веткой основной строки кода, в зависимости от используемого рабочего процесса).

Примечание: Ветвление функций не является только вы можете использовать рабочий процесс с ветвлением, но он широко распространен и обеспечивается простотой функций слияния Git.

Объединить ветку с другой с помощью Git

Ассоциация git branch Команда используется для вывода списка всех существующих веток в репозитории. Рядом с активной в данный момент веткой появится звездочка:

$ git branch
* master

Чтобы создать новую ветку, мы можем использовать git branch new-branch команда. Это создаст новую ветку, отражающую коммиты текущей активной ветки:

$ git branch new-branch
$ git branch
* master
new-branch

Примечание: За кулисами Git не фактически создайте новый набор коммитов для представления новой ветки. Ветка похожа на тег, а коммиты общие. Вы разветвляясь новый набор изменений из основной ветки. Как только ветка функции будет завершена и объединена с основной веткой, изменения в ней станут основной веткой, пока вы не объедините новую ветку функции с основной веткой.

На этом этапе мы создали новую ветку, но все еще находимся в исходной ветке. Чтобы начать работу над новой веткой, нам сначала нужно запустить команду git checkout new-branch. Это изменит активную ветку на новую ветку:

$ git checkout new-branch
Switched to branch ‘new-branch'
$ git branch
master
* new-branch

На этом этапе в новой ветке можно сделать коммиты для реализации новой функции. Как только функция будет завершена, ветку можно будет снова объединить с основной веткой кода.

Сначала мы бежим git checkout master чтобы изменить активную ветку обратно на master ветвь. Затем мы запускаем команду git merge new-branch в объединить новую функцию с основной филиал.

Примечание: git merge объединяет указанную ветку с текущей активной веткой. Поэтому нам нужно быть в той ветке, в которой мы находимся слияние в.

Если вы объединяете новую функцию с основной веткой, вам сначала нужно переключиться на основную ветку, а затем выполнить слияние с ней:

# ...develop some code...

$ git add .
$ git commit –m "Some commit message"
$ git checkout master
Switched to branch 'master'
$ git merge new-branch

Ознакомьтесь с нашим практическим руководством по изучению Git с рекомендациями, принятыми в отрасли стандартами и прилагаемой памяткой. Перестаньте гуглить команды Git и на самом деле изучить это!

Если все пойдет хорошо, то наша работа окончена. Новые коммиты функций теперь появляются в основной ветке. Однако возможно, что Git не сможет завершить слияние из-за конфликтного изменения в исходной ветке. Это называется конфликт слияния.

Подводя итог, вот команды для создания новой ветки, внесения некоторых коммитов и ее слияния обратно с основной:

$ git checkout master
$ git branch new-branch
$ git checkout new-branch

# ...develop some code...

$ git add .
$ git commit –m "Some commit message"
$ git checkout master
$ git merge new-branch

Об авторе

Эта статья была написана Джейкобом Стопаком, консультантом по программному обеспечению и разработчиком, страстно желающим помогать другим улучшить свою жизнь с помощью кода. Джейкоб — создатель Начальная фиксация – сайт, призванный помочь любознательным разработчикам узнать, как написаны их любимые программы. Представленный проект помогает людям изучить Git на уровне кода.

Отметка времени:

Больше от Стекабьюс