У нас есть человек (назовем его Тед), который отвечает за тестирование новых функций и исправление ошибок.
Мы используем Git и GitHub . master
должен быть / всегда доступен для развертывания и development
где мы фиксируем / объединяем новые функции или исправления ошибок, но только после того, как они были проверены Тедом.
Проект на PHP.
Я бы хотел, чтобы процесс тестирования проходил так:
- Разработчик хочет работать на новую функции (скажем , в особенности / ошибке # 123 , как Тед задокументированной в системе отслеживания проблем), так что он тянет
origin/development
кdevelopment
его локальному хранилищу , и создает новую ветвь (скажемissue-123
) оттуда. - Как только он доволен своей работой, он берет на себя обязательства и продвигает свою новую ветку
origin
. - Тед подключается
test.ourproject.com/choose-branch
и видит список ветвейorigin
и выбирает для включенияissue-123
(это должно быть сделано через веб-страницу). Затем он продолжаетtest.ourproject.com
, тестирует адское веб-приложение (он действительно безжалостен), и после некоторой перемотки с разработчиком он доволен этой функцией. - Тед говорит разработчик , что он может сливаться
issue-123
наdevelopment
наorigin
. - Промыть и повторить.
На третьем шаге я мог бы взломать что-то, что делает работу (показывать и переключать ветки с определенной страницы), но я чувствую, что то, что я описал, является очень распространенным паттерном.
Итак, мой вопрос: это хороший / устойчивый / поддерживаемый рабочий процесс для ветвления? Можете ли вы подтвердить свой ответ, приведя несколько примеров других проектов после этого рабочего процесса?
issue-123
ссылку на ошибку / функцию # 123, поскольку Тед документирует каждую ошибку / новую функцию на нашем трекере.