git flow инструкция по использованию

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

Вашему вниманию представляется git flow

Введение

git flow — это расширение для git с набором определенных команд для предоставления высокоуровневого контроля над репозиторием и для поддержки модели ветвления разработанной Vincent Driessen. Предоставляет превосходную командную строку со справкой и улучшенным выводом. Внимательно читайте вывод в командной строке, что бы понимать, что происходит.

Установка

В первую очередь необходимо установить git flow, он работает на OSX, Linux , Windows

Для установки на OSX

$ brew install git-flow-avh

Для установки на Macports

$ port install git-flow-avh

Для установки на Linux

$ apt-get install git-flow

Для установки на Windows (Cygwin)

$ wget -q -O - --no-check-certificate https://raw.github.com/petervanderdoes/gitflow-avh/develop/contrib/gitflow-installer.sh install stable | bash

Вам потребуется wget и util-linux для установки git-flow.

Приступаем к работе

Для того что бы начать работу с git flow, его нужно инициализировать в уже существующем репозитории git. Для этого перейдите в папку с проектом и пропишите:

git flow init

Вам придется ответить на несколько вопросов что бы настроить конфигурацию. Рекомендуется оставить все как есть.

Ветвление делится на ветки — master, develop, release , hotfix , feature.

Я полагаю названия веток говорят сами за себя, по этому мы не будем останавливаться на предназначенных каждой из них и перейдем сразу к работе с git flow

Фичи

Разработка фич (features) для последующих релизов, как правило ветка существует локально только у разработчиков. разработка новых фич начинается с ветки develop (вам нужно находится в этой ветке перед началом новой фичи). Все начинается с команды :

git flow feature start MYFEATURE

где MYFEATURE название ветки и соответственно фичи которую вы будете создавать.

Эта команда создает ветку фичи, основываясь на ветке develop и переключается на неё. С этого момента начинается разработка фичи, вы работаете в созданной ветке.

git flow feature

Завершение фичи

После того как разработка очередной фичи закончилась и вы готовы задеплоить ее, необходимо выполнить команду :

git flow feature finish MYFEATURE

Данная команда произведет слияние веток MYFEATURE с веткой develop, удалит ветку фичи и переключит вас на ветку develop. После чего можно делать пуш на сервер.

git flow merge feature to develop branch

Публикация фичи

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

git flow feature publish MYFEATURE

Получение опубликованной фичи

Пулл ветки с фичей с удаленного сервера проводится командой :

git flow feature pull origin MYFEATURE

Создание релиза

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

Начало релиза

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

git flow release

Эта команда создает ветку release основываясь на ветке develop.

git flow release start RELEASE [BASE]

При желании вы можете указать [BASE]-коммит в виде его хеша sha-1, чтобы начать релиз с него. Этот коммит должен принадлежать ветке «develop».Желательно сразу публиковать ветку релиза после создания, чтобы позволить другим разработчиками выполнять коммиты в ветку релиза. Это делается так же, как и при публикации фичи, с помощью команды:

git flow release publish RELEASE

Вы также можете отслеживать удалённый релиз с помощью команды

git flow release track RELEASE

git flow release

Завершение релиза

Завершение релиза — один из самых больших шагов в git-ветвлени. При этом происходит несколько действий:

  1. Ветка релиза сливается в ветку «master»
  2. Релиз помечается тегом равным его имени
  3. Ветка релиза сливается обратно в ветку «develop»
  4. Ветка релиза удаляется


git flow release finish RELEASE

Не забудьте отправить изменения в тегах с помощью команды

git push --tags

git flow master branch

Исправления

  • Исправления нужны в том случае, когда нужно незамедлительно устранить нежелательное состояние продакшн-версии продукта
  • Может ответвляться от соответствующего тега на ветке «master», который отмечает выпуск продакшн-версии

Как и в случае с другими командами git flow, работа над исправлением начинается так:

git flow hotfix start VERSION [BASENAME]

Аргумент VERSION определяет имя нового, исправленного релиза.При желании можно указать BASENAME-коммит, от которого произойдёт ответвление.

hot fix git flow

Завершения исправлений

Когда исправление готово, оно сливается обратно в ветки «develop» и «master». Кроме того, коммит в ветке «master» помечается тегом с версией исправления.

git flow hotfix finish VERSION

Заключение

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

Если эта статья была для вас полезна, делайте репост в свои социальные сети, тем самым вы поддержите и уважите автора. Всем спасибо)

Summary
git flow инструкция по использованию
Article Name
git flow инструкция по использованию
Description
git flow - это расширение для git с набором определенных команд для предоставления высокоуровневого контроля над репозиторием и для поддержки модели ветвления разработанной Vincent Driessen.
Author

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *