Как использовать Git-flow в своем рабочем процессе

Здравствуйте.
К настоящему моменту, уверен, вы знаете, что существует два основных способа управления программными проектами и оптимизации рабочего процесса команды в GIT, а именно Git-Flow и Github Flow, на всякий случай, если вы забыли.
В этой статье я остановлюсь на том, как использовать Git-Flow.

Git-flow — это просто модель ветвления git, в которой вместо одной основной ветки мы можем иметь две ветки main и development.
Звучит приятно, да?
Я знаю, поэтому я должен поспешить упомянуть, что у этого есть несколько типичных случаев использования. Согласно luca mezzalira (2014), Git-flow предлагается использовать, когда в вашем программном обеспечении есть концепция release, потому что это не лучшее решение, когда вы работаете в среде Continuous Delivery или Continuous Deployment, где эта концепция отсутствует.

В Git-flow:

СОВЕТ: Помечайте все коммиты основной ветки номерами версий.

Сначала один разработчик создает пустую ветку develope и размещает ее на сервере.

`$ git branch development`
`$ git push -u origin development`
Вход в полноэкранный режим Выход из полноэкранного режима

Как сделать ветку разработки базовой веткой

Чтобы изменить базовую ветку с main на devlopement:

  • Перейдите на github.com
  • В своем репозитории перейдите к настройкам
  • Нажмите на Branches
  • Нажмите на иконку стрелки вперед и назад.
  • Выберите developement в выпадающем меню
  • Выберите «Я понимаю…».

Поздравляем! Вы только что изменили базовый бранч вашего репозитория с main на development.

Теперь другие разработчики могут клонировать центральный репозиторий и создать ветку отслеживания для development.
Вместо ответвления от main, ветви функций ответвляются от development.
Иными словами, development теперь является родителем ветвей функций.
Когда функция завершена, ветвь функции объединяется обратно в development (это так называемый ‘Feature Branch Workflow’).

Предупреждение о спойлерах: ветви функций никогда не должны напрямую взаимодействовать с main.

Как создать ответвление функции

Чтобы создать ответвление, перейдите в терминал и введите следующие команды:

`$ git checkout developement`
`$ git checkout -b feture_branch_name`
Войти в полноэкранный режим Выйти из полноэкранного режима

Или вы можете использовать библиотеку расширения git-flow следующим образом:

`git flow feature start feature_branch_name`
Войти в полноэкранный режим Выйти из полноэкранного режима

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

`$ git checkout dvelopement`
`$ git merge feature_branch_name`
Вход в полноэкранный режим Выйти из полноэкранного режима

Или используя расширение git-flow, как показано ниже:

`$ git flow feature finish feature_branch_name`
Войти в полноэкранный режим Выйти из полноэкранного режима

Теперь, предполагая, что у нас уже есть репозиторий с основной веткой, мы можем продемонстрировать Feature Branch Flow следующим образом:

`$ git checkout main`
`$ git checkout -b development`
`$ git checkout -b feature_branch_name`
Войти в полноэкранный режим Выйти из полноэкранного режима

Затем выполните следующие команды:

`$ git checkout development`
`$ git merge feature_branch_name`
`$ git checkout main`
`$ git merge development`
`$ git branch -d feature_branch_name`
Войти в полноэкранный режим Выйти из полноэкранного режима

Ветка релиза

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

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

Ветки релизов основаны на ветке разработки. Ниже приведена серия команд для создания ветки релиза:

Без расширений git-flow:

`$ git checkout develop`
` $ git checkout -b release/0.1.0`
Войти в полноэкранный режим Выход из полноэкранного режима

При использовании расширений git-flow:

`$ git flow release start 0.1.0`
Войти в полноэкранный режим Выйдите из полноэкранного режима

Вы должны увидеть текст примерно следующего содержания: «Переключились на новую ветку ‘release/0.1.0′».

Теперь вы можете объединить ветку release с main и development и удалить ветку.

Чтобы завершить ветку release, используйте следующие методы:

Без расширений git-flow:

`$ git checkout main`
`$ git merge release/0.1.0`
Войдите в полноэкранный режим Выйдите из полноэкранного режима

С расширением git-flow:

`$ git flow release finish '0.1.0'`
Войти в полноэкранный режим Выход из полноэкранного режима

Вот и все!

Оцените статью
devanswers.ru
Добавить комментарий