Wie kontrolliere ich bei einem produktbasierten GIT-Repository, in dem es Zweige für die Wartung, das Testen und die zukünftige Entwicklung gibt, den Benutzerzugriff auf diese Zweige? Mit Zugriff meine ich, dass andere zwar lesen können, aber nicht in der Lage sein sollten, versehentlich Änderungen am Repository vorzunehmen.
Zum Beispiel,
A - B - C - D - E - F -> master
| | |
V1 V2' exp
|
V2
"B" ist der Commit, der für Branch mit dem Tag V1 verwendet wird - er ist für die freigegebene Version des Produkts gedacht. Nur Support-/Wartungstechniker sollten darauf Zugriff haben.
C wird für ein kürzlich eingefrorenes Vorab-Produkt V2' verwendet und sollte nur kritische Fehlerbehebungen zulassen, so dass nur bestimmte Entwickler und das Testteam Zugriff darauf haben sollten. Wenn V2 von diesem Zweig aus freigegeben wird, sollte nur der Support darauf zugreifen, wie es bei V1 der Fall ist.
E dient der Verzweigung zum Testen einer neuen Funktion für die zukünftige V3 - nur Entwickler und nicht der Support sollten darauf zugreifen.
"Master"-Änderungen sollten nur auf Anfrage (ähnlich wie bei GitHub) von einem zentralen Integrationsteam zusammengeführt werden.
Wie kann dies mit Git erreicht werden? Ich erinnere mich, gitosis und einige andere externe Tools gesehen zu haben - sind diese für einen sicheren Betrieb mit git unerlässlich, oder gibt es andere bewährte Verfahren?
Danke.
HINZUFÜGEN Gitflow-Best-Practice-Verzweigungsmodell