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