Belov Solutions

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

Введение

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

Долгоживущие ветки

Git использует трёхстороннее слияние, что позволяет поддерживать несколько долгоживущих веток для разных этапов разработки. Например:

  • master: Содержит только стабильный, готовый к выпуску код.
  • develop или next: Используется для тестирования и интеграции новых функций. Может быть нестабильной, но при достижении стабильности сливается в master.
  • proposed или pu: Для экспериментальных изменений, ещё не готовых для develop или master.

Стабильные ветки находятся в нижней части истории коммитов, а более новые наработки — в верхней. После тестирования изменения из менее стабильных веток сливаются в более стабильные.

Пример: создание ветки develop и слияние в неё тематической ветки:

git checkout -b develop
git checkout -b featureX
vim featureX.js
git commit -a -m 'Add feature X'
git checkout develop
git merge featureX
git branch -d featureX

После тестирования в develop можно слить изменения в master:

git checkout master
git merge develop

Тематические ветки

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

Пример: вы работаете в master, создаёте ветку для задачи iss91, затем пробуете альтернативное решение в iss91v2 и экспериментируете в dumbidea:

git checkout -b iss91
vim feature.js
git commit -a -m 'Work on issue 91'
git checkout -b iss91v2
vim feature.js
git commit -a -m 'Alternative solution for issue 91'
git checkout master
git checkout -b dumbidea
vim experiment.js
git commit -a -m 'Experimental idea'

Допустим, iss91v2 и dumbidea оказались удачными. Удалите iss91 и слейте остальные ветки в develop или master:

git checkout develop
git merge iss91v2
git merge dumbidea
git branch -d iss91

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

Локальность веток

Все операции с ветками в Git выполняются локально, без необходимости связи с удалённым сервером. Это делает ветвление и слияние быстрыми и гибкими.

Для отправки изменений в удалённый репозиторий используйте:

git push origin develop

Заключение

Вы узнали, как использовать долгоживущие и тематические ветки для организации рабочего процесса в Git. Долгоживущие ветки, такие как master и develop, помогают управлять стабильностью кода, а тематические ветки изолируют задачи для удобства разработки и ревью. Эти подходы применимы в проектах любой сложности.

Отзывы

Оставить отзыв

Ваша эл. почта не будет опубликована