Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Стоит отметить, что предлагаемая модель ветвления подходит не исключительно для Git, но и Mercurial, а скорее всего и большинству распределенных систем контроля версий
$ git checkout develop
Switched to branch 'develop'
$ git merge --no-ff hotfix-1.2.1
git checkout master #переключаемся на то от чего хотим отбранчеваться (в данном случае от мастера) git pull #получаем последние изменения git checkout -b 1234_editor_redo_feature #создаем локальную ветвь git-punlish-branch #публикуем её
$ git checkout develop
$ git merge --no-ff feature1
$ git push origin develop
(прошло время...)
$ git checkout feature1
(какие-то изменения...)
$ git checkout develop
$ git merge --no-ff feature1
$ git push origin develop
# Создание веток master/developer/release/hotfix
$ git flow init
# Начинаем работать над функционалом feature1 (ответвление от develop)
$ git flow feature start feature1
# делаем изменения
$ git add ...изменения...
$ git commit -m "изменения для feature1"
# Эта команда сделает слияние feature1 с develop и удалит ветку
$ git flow feature finish feature1
# Давайте начнём работу над релизом
$ git flow release start release1
# делаем изменения
$ git add ...изменения...
$ git commit -m "release1"
# Эта команда сделает слияние release1 с master
$ git flow release finish release1
--no-ff пользуюсь такими строчками в кофиге:[merge]
ff = false
git version 1.7.2.5)git cherry-pick — договоритесь об этом с командой и перекидывайте. Если есть ощущение, что лучше слить ветки независимо, а потом править возможные дефекты в новой fix-ветке — делайте так. Всё зависит только от Вас.
Удачная модель ветвления для Git