В проекте используется gitflow-avh https://github.com/petervanderdoes/gitflow-avh.
-
Gentoo:
emerge git-flow
Для начала использования git-flow проинициализируйте его внутри существующего git-репозитория:
git flow initРазработка новых фич для последующих релизов. Обычно присутствует только в репозиториях разработчиков.
Разработка новых фич начинается из ветки develop.
Для начала разработки фичи выполните:
git flow feature start MYFEATUREЭто действие создаёт новую ветку фичи, основанную на ветке "develop", и переключается на неё.
Окончание разработки фичи. Это действие выполняется так:
- Слияние ветки MYFEATURE в
develop. - Удаление ветки фичи.
- Переключение обратно на ветку
develop.
git flow feature finish MYFEATUREЕсли вы разрабатываете фичу совместно с коллегами, то опубликуйте фичу на удалённом сервере, чтобы её могли использовать другие пользователи.
git flow feature publish MYFEATUREПолучение фичи, опубликованной другим пользователем.
git flow feature pull origin MYFEATUREВы можете отслеживать фичу в репозитории origin с помощью команды
git flow feature track MYFEATUREПоддержка подготовки нового релиза продукта. Позволяет устранять мелкие баги и подготавливать различные метаданные для релиза.
Для начала работы над релизом используйте команду
git flow release start RELEASE [BASE]Она создаёт ветку релиза, ответляя от ветки develop.
При желании вы можете указать [BASE]-коммит в виде его хеша sha-1,
чтобы начать релиз с него. Этот коммит должен принадлежать ветке
develop.
Желательно сразу публиковать ветку релиза после создания, чтобы позволить другим разработчиками выполнять коммиты в ветку релиза. Это делается так же, как и при публикации фичи, с помощью команды:
git flow release publish RELEASEВы также можете отслеживать удалённый релиз с помощью команды
git flow release track RELEASEЗавершение релиза -- один из самых больших шагов в git-ветвлени. При этом происходит несколько действий:
- Ветка релиза сливается в ветку
master. - Релиз помечается тегом равным его имени.
- Ветка релиза сливается обратно в ветку
develop. - Ветка релиза удаляется.
git flow release finish RELEASEНе забудьте отправить изменения в тегах с помощью команды
git push --tagsИсправления нужны в том случае, когда нужно незамедлительно устранить нежелательное состояние продакшн-версии продукта. Может ответвляться от соответствующего тега на ветке "master", который отмечает выпуск продакшн-версии.
Как и в случае с другими командами git flow, работа над исправлением начинается так:
git flow hotfix start VERSION [BASENAME]Аргумент VERSION определяет имя нового, исправленного релиза.
При желании можно указать BASENAME-коммит, от которого произойдёт ответвление.
Когда исправление готово, оно сливается обратно в ветки develop и
master. Кроме того, коммит в ветке master помечается тегом с
версией исправления.
git flow hotfix finish VERSION