При совместной работе на рабочем месте учитываются идеи, навыки, опыт и мнения сотрудников. Когда люди открыто работают вместе, процессы и цели становятся более согласованными, что ведет группу к более высокому уровню успеха в достижении общей цели.
С учетом сказанного, давайте начнем!!
До сих пор мы обсуждали основы 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 и т. д.
Я хотел бы услышать ваши предложения, если таковые имеются в разделе комментариев.
Спасибо, что остаетесь с нами. Многое еще впереди. Спасибо и хорошего дня!!