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