Быстрый ответ – объединить ветку с мастером
Если вы ищете быстрый ответ, чтобы объединить ветку в 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 на уровне кода.