При совместной работе на рабочем месте учитываются идеи, навыки, опыт и мнения сотрудников. Когда люди открыто работают вместе, процессы и цели становятся более согласованными, что ведет группу к более высокому уровню успеха в достижении общей цели.

С учетом сказанного, давайте начнем!!

До сих пор мы обсуждали основы git, т. е. как создать новый репозиторий, как сделать нашу первую фиксацию и т. д. (Обратитесь к предыдущему посту для получения информации об основах git и GitHub)

Предположим, вы работаете над новым проектом. У вас может появиться много идей и функций, пока вы работаете над этим; некоторые из них могут быть легко реализованы, а некоторые нет. Возможно, вы работаете с другими людьми, каждый из которых занимается своим делом. Вот где нужно ветвление!

Git-ветка

Ветки в git являются частью нашего повседневного процесса разработки. Его можно понимать как отдельное место, где мы можем опробовать наши новые идеи, не затрагивая основную ветку. Как только мы закончим с изменениями, мы сами решим, хотим ли мы включить их в основную ветку или нет.

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

На приведенной выше диаграмме представлен репозиторий с двумя изолированными линиями разработки: одна для небольшой функции, а другая — для более продолжительной. Разрабатывая их в ветках, можно не только работать над ними обоими параллельно, но и освобождать основную ветку master от сомнительного кода.

Работа с ветками

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

Чтобы создать ветку:

git branch "branch-name"

Чтобы перечислить все ветки в вашем репозитории:

git branch

Чтобы удалить ветку:

git branch -d "branch-name"

Однако это безопасная операция, поскольку она предотвращает удаление ветки, если в ней есть неслитые изменения. Чтобы принудительно удалить ветку, даже если в ней есть неслитые изменения:

git bnrach -D "branch-name"

Для дальнейшей работы с полученными ветвями команда git branch обычно используется с другими командами, такими как git checkout.

Git-касса

В терминах Git "checkout" — это процесс переключения между различными версиями целевого объекта. С помощью этой команды вы можете перемещаться между ветвями, которые вы создали в git. Извлечение ветки обновляет файлы в рабочем каталоге, чтобы они соответствовали версии, хранящейся в этой ветке, и сообщает Git записывать все новые коммиты в этой ветке.

Думайте об этом как о способе выбрать направление разработки, над которым вы работаете.

Команда git checkout работает рука об руку с командой git branch. После того, как вы создали ветку с помощью команды git branch, вы можете переключиться на новую ветку с помощью команды git checkout.

Однако обе эти операции можно выполнить одной командой:

git checkout -b "new-branch-name"

В приведенном выше примере одновременно создается и извлекается ‹новая ветвь›. Опция -b – это удобный флаг, который указывает Git запустить git branch ‹new-branch› перед запуском git checkout ‹new-branch›. .

По умолчанию git checkout -b создает новую ветку на основе текущей HEAD. В git checkout можно передать необязательный дополнительный параметр ветки. В приведенном выше примере можно передать ‹существующую ветку›, которая затем основывает ‹новую ветку› на основе ‹существующей ветки›. текущей ГОЛОВЫ.

git checkout -b <new-branch> <existing-branch>

Итак, теперь, если у вас есть несколько существующих веток в вашем репозитории и вы хотите переключаться между ними:

$ git branch
master
branch_1
branch_2
$ git checkout branch_2

До сих пор мы рассмотрели, как создать ветку в git и как оформить заказ из ветки и перейти в другую ветку.

Как только вы закончите добавлять новую функцию, вы можете включить ее в основную ветку, и это можно сделать с помощью команды git merge.

Объединение с помощью Git

Команда git merge позволяет вам взять независимые направления разработки и интегрировать их в ветку, в которой вы хотите. Хотя эту команду можно использовать для объединения нескольких ветвей в одну, обычно она используется для объединения двух ветвей в одну.

Как на самом деле работает git merge?

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

Скажем, у нас есть новая функция ветки, основанная на ветке master. Теперь мы хотим объединить эту ветку функций с master.

Вызов команды слияния объединит указанный компонент ветви с текущей ветвью, здесь master. (Алгоритм слияния автоматически определяется git)

Итак, после того, как мы объединили две ветки, структура ветки выглядит примерно так:

Как объединить две ветки в одну с помощью команды git merge?

Допустим, у вас есть две ветки, в одной из которых есть новая функция, которую вы недавно реализовали, и вы хотите объединить эту новую ветку с основной веткой.

  • git checkout ветка, с которой вы хотите объединиться
  • введите git merge branch_name, где branch_name — это имя ветки, из которой вы хотите выполнить слияние

Итак, если мы находимся в основной ветке и хотим объединиться с новой_веткой, то:

git merge new_branch

Пока все хорошо!!

Теперь вы знаете, как сотрудничать с людьми, работая вместе с git и GitHub. В следующем посте мы поговорим о git подробнее: rebase, редактирование коммитов, сброс, возврат, git log, git hooks и т. д.

Я хотел бы услышать ваши предложения, если таковые имеются в разделе комментариев.

Спасибо, что остаетесь с нами. Многое еще впереди. Спасибо и хорошего дня!!