- PVSM.RU - https://www.pvsm.ru -
В январе этого года (прим. год — 2010), @nvie [1] опубликовал статью — "A successful Git branching model [2]" (прим. перев. — на хабре есть перевод: "Удачная модель ветвления для Git [3]"), в которой он поделился опытом как поддерживать порядок и чистоту Git-репозитария. В дополнение к этому, он выпустил git-flow [4], набор расширений для Git для поддержки описаной модели.
После установки git-flow, вы можете или начать с чистого листа в текущем каталоге, или преобразовать существующий к новой структуре:
$ git flow init
Вам надо будет ответить на несколько вопросов, но значения по умолчанию выбраны удачно:
No branches exist yet. Base branches must be created now.
Branch name for production releases: [master]
Branch name for "next release" development: [develop]
How to name your supporting branch prefixes?
Feature branches? [feature/]
Release branches? [release/]
Hotfix branches? [hotfix/]
Support branches? [support/]
Version tag prefix? []
После ответов, git flow поставит develop
-ветку как ветку по умолчанию (или как вы её там назвали?), потому-что именно в ней вы будете работать.
Теперь, просто используйте Git как и раньше, но работайте только над небольшими дополнениями в develop
-ветке. Для больших дополнений лучше создать ветку на основе develop
. К примеру вы хотити разработать страницу входа для сайта:
$ git flow feature start login
Эта команда создаст новую ветку, на основе develop
-ветки, с названием feature/login
и переключится на неё. Делайте изменения, дополнения и commit'ы, а потом просто закончите разработку.
$ git flow feature finish login
Просто сделает слияние feature/login
назад в develop и удалит ветку.
Когда весь новый функционал сделан, просто начните ветку релиза, опять же на базе develop
— подняв номер версии и исправив последние баги.
$ git flow release start v0.1.0
Когда закончите оформлять релиз, git flow сам сольёт все изменения в master
-ветку и назад, в develop
, потому вам не надо беспокоиться что master
будет впереди develop
.
Последняя классная вещь, git flow поддерживает хот-фиксы! Создать такую ветку легко, как любую другую, но она основывается на master
-ветке что бы быстро исправить ошибки в релизи и сделать слияние обратно в master
и develop
используя finish.
Чудесно, правда? Так чего же вы ждёте?
Автор: m0nhawk
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/git/10930
Ссылки в тексте:
[1] nvie: http://twitter.com/nvie
[2] A successful Git branching model: http://nvie.com/posts/a-successful-git-branching-model/
[3] Удачная модель ветвления для Git: http://habrahabr.ru/post/106912/
[4] git-flow: https://github.com/nvie/gitflow
Нажмите здесь для печати.