ДжазТим — надежный технологический партнер

Agile разработка ПО на Java

«Общий репозиторий» модель совместной разработки

На одном из проектов при работе с GitHub мы использовали модель совместной разработки «общий репозиторий». Каждый в команде имеет доступ «на запись» в один общий репозиторий, а для изолирования изменений и работы над конкретной задачей использовались ветви (branches).

Каждый “branch” соответствовал отдельной задаче. Имя для “branch” назначалось по номеру задачи. Это было сделано для того, чтобы можно было легко понять к какой задаче он относится. После завершения работы над задачей, код из определенного “branch” отправлялся (пушился, от английского «push») на сервер GitHub’а. На сайте GitHub, разработчик вручную делал “pull request” своему бренчу, что означало — код готов пройти проверку обозревателем (ревьювером, от английского “reviewer ”). Имя “pull request’а” также содержало номер задачи и помечалось “FE” или “BE”, в соответствии с тем, где были произведены изменения: на клиентской (Front-end) или на серверной (Back-end) стороне.

Ревьювер назначался каждый день из числа разработчиков по очереди. В его обязанности входило проводить проверку сделанных разработчиками “pull request’ов” (по требованию или в определенные рабочие часы), добавлять их в мастер (главную ветку репозитория, содержащую актуальную версию кода), или оставлять комментарии к коду и отправлять задачу на доработку.

В случае, когда ревьювер не находил ошибок в “pull request’е”, он заливал изменения в мастер и закрывал его.

, , ,