Для GIT-репозитория на основе продуктов, в котором есть ветки для обслуживания, тестирования и дальнейшей разработки, как мне контролировать доступ пользователей к этим веткам? Под доступом я подразумеваю, что, хотя другие могут читать из него, они не должны быть в состоянии непреднамеренно выдвинуть изменения в репо.
Например,
A - B - C - D - E - F -> master
| | |
V1 V2' exp
|
V2
«B» - это фиксация, используемая для Branch с тегом V1 - предназначена для выпущенной версии продукта. Только инженеры поддержки / обслуживания должны иметь доступ к этому.
C используется для недавно замороженного предварительного релиза продукта V2 'и должен допускать только критические исправления ошибок, так что только определенные разработчики и команда тестирования должны иметь к нему доступ. когда V2 выпущен из этой ветви, доступ к нему должен иметь только Support, как в случае с V1.
E используется для ветвления для тестирования новой функции для будущих V3 - только разработчики и не Поддержка должны иметь к ней доступ.
«Основные» изменения должны объединяться только по запросу (например, GitHub) группой центральной интеграции.
Как можно достичь вышеизложенного с помощью git? Я помню, как видел gitosis и некоторые другие внешние инструменты - они необходимы для безопасной работы с git или есть какие-то другие лучшие практики?
Спасибо.
* ДОБАВЛЕНО * 1019
Модель ветвления Gitflow для наилучшей практики