SlideShare a Scribd company logo
Enter: git workflow
Боль №1: Git Workflow
Регламент
Enter: git workflow
Есть нюанс…
Нам очень нужна вон та
фича…
Вчера!
Вчера!
Проблемы эксплуатации
• крупные релизы (до 10-15 задач)
• как следствие долгая стабилизация релиза (1-2 недели)
• разработчики чаще переключают контекст с текущих задач на
«релизные» для стабилизации последних
• проще пропустить логические ошибки слияния (например,
дублирование кода)
• хотфиксы на мастер и долгая стабилизация релиза приводят к
частым конфликтам слияния (merge conflicts)
• задачи очень долго попадают в production (от 2-3 недель)
Хотим
• увеличить скорость доставки фич
• мелкие релизы (1-2 задачи)
• частые релизы (каждый день)
• устранить выявленные проблемы
• не сойти с ума
Приступим
• крупные релизы; долгая стабилизация; логические ошибки слияния
✓ гарантируем не больше 1-2 задач на релиз
• частое переключение контекста; конфликты слияния с мастером
- гарантируем стабилизацию релиза в течение дня
✓ автоматизация регрессионного тестирования
✓ непрерывная интеграция
✓ исключаем задачу из релиза, если не уложились в срок
• задачи очень долго попадают в production (от 2-3 недель)
✓ приоритизация и частые релизы (каждый день)
Определяемся с workflow
Уже все давно придумано*
* спасибо Vincent Driessen!
Gitflow Workflow
Детали
Feature Branches
Release Branches
Maintenance Branches
Учтем опыт эксплуатации
Было
Стало
Децентрализуем
• переходим на forks с read-only доступом к главному репозиторию
• dev только как буферная ветка и ничем не отличается от мастера
• релизная ветка создается от master, а не от dev
• если задача не стабилизирована, релизная ветка пересобирается без
нее
• после релиза dev и master согласуются
• https://www.atlassian.com/git/tutorials/comparing-workflows
• https://github.com/nvie/gitflow
• https://github.com/arc90/git-sweep
• https://hub.github.com
• https://habrahabr.ru/post/272531/
Полезные ссылки
Enter: git workflow
Enter: git workflow
используй Gitflow
Спасибо за внимание!
Есть вопросы?
Камиль Самигуллин
какой-то разработчик
kamil@samigullin.info
@ikamilsk
github.com/kamilsk
linkedin.com/in/kamilsk

More Related Content

PDF
Software process framework
PDF
«GitHub Flow — немного сложнее, чем на бумаге», Александр Бирюков
PPTX
Shytikov on git Magic
PDF
Страх и ненависть в мире релиз-инжиниринга
PDF
Релизимся чаще, или тернистый путь к continuous delivery
PDF
Михаил Корепанов "Инкрементальные обновления на клиенте"
PDF
Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...
PPTX
планирование веб релизов в условиях многопоточности задач со скачущими приори...
Software process framework
«GitHub Flow — немного сложнее, чем на бумаге», Александр Бирюков
Shytikov on git Magic
Страх и ненависть в мире релиз-инжиниринга
Релизимся чаще, или тернистый путь к continuous delivery
Михаил Корепанов "Инкрементальные обновления на клиенте"
Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...
планирование веб релизов в условиях многопоточности задач со скачущими приори...

Viewers also liked (8)

PDF
Маркет. Создание большого интернет-проекта
PDF
Git, smart git & gitflow
PPTX
Wi-Fi Development
PPTX
DersuDev #1 2015 - Continous Integration
PDF
Gitlab flow
PDF
GitFlow_MOEX
PDF
Github Flow. Тестировщики против тестирования
PDF
Gitlab flow solo
Маркет. Создание большого интернет-проекта
Git, smart git & gitflow
Wi-Fi Development
DersuDev #1 2015 - Continous Integration
Gitlab flow
GitFlow_MOEX
Github Flow. Тестировщики против тестирования
Gitlab flow solo
Ad

Similar to Enter: git workflow (20)

PPTX
Сергей Константинов (Яндекс)
PPTX
1. yandex maps
PDF
Мобильный веб: назад в будущее
PDF
Я.Москвина "Переход от хаоса к планированию в веб-разработке"
PDF
А.Ильин (iConText) - Аналитика использования продукта: нужны ли вам метрики ...
PDF
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
PPT
что такое Git и как с ним бороться
PPT
Потенциал метода ББК
PPTX
Python dependencies
PPTX
Управление highload-проектами 24 на 7
PDF
Выбираем стратегию создания бранчей
PPTX
Scino: DVCS на примере Git
PPTX
Опыт эксплуатации большого проекта на Ruby
PDF
Никита Шультайс. "Система управления версиями git"
PDF
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
PPT
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
PPTX
How we built continuous delivery
PDF
Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.
PPTX
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...
PDF
Going to extreme
Сергей Константинов (Яндекс)
1. yandex maps
Мобильный веб: назад в будущее
Я.Москвина "Переход от хаоса к планированию в веб-разработке"
А.Ильин (iConText) - Аналитика использования продукта: нужны ли вам метрики ...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
что такое Git и как с ним бороться
Потенциал метода ББК
Python dependencies
Управление highload-проектами 24 на 7
Выбираем стратегию создания бранчей
Scino: DVCS на примере Git
Опыт эксплуатации большого проекта на Ruby
Никита Шультайс. "Система управления версиями git"
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
How we built continuous delivery
Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...
Going to extreme
Ad

More from Kamil Samigullin (7)

PDF
OctoLab Cookbook: Go lang tips and tricks - protection of sensitive config data
PDF
OctoLab Cookbook: how to use composer.yml and stop creating issues about
PDF
OctoLab Cookbook: how to generate a unique key for a sequence
PDF
Enter Cookbook: refactoring under a microscope
PDF
Enter: testing
PDF
Enter: legacy code
PDF
Enter: code style
OctoLab Cookbook: Go lang tips and tricks - protection of sensitive config data
OctoLab Cookbook: how to use composer.yml and stop creating issues about
OctoLab Cookbook: how to generate a unique key for a sequence
Enter Cookbook: refactoring under a microscope
Enter: testing
Enter: legacy code
Enter: code style

Enter: git workflow