git - master-Zweig für einige Benutzer Sperren?
-
08-10-2019 - |
Frage
würde Ich mag andere Team-Mitglieder auf dem Master-Zweig nicht Arbeit zwingen, sondern auf einem Entwicklungszweig. wir haben eine zentrale git-Repository, in dem wir unsere Arbeit in schieben. Ich würde gerne wissen, ob es möglich ist, Benutzer daran zu hindern, Änderungen an den Master-Zweig drängt aber nur erlaubt bestimmte Benutzer, dies zu tun.
Ich mag folgenden "Workflow" haben,
- wird die Entwicklung immer nur mit einem Entwicklungszweig gemacht
- der Release-Manager ist verantwortlich für den Master-Zweig und nur ihn zu verschmelzen Sachen aus einem Entwicklungszweig in den Master erlaubt und schieben Sie es an den Master-Zweig auf dem zentralen Repository.
Ist das möglich und wie kann ich das erreichen?
Lösung
Siehe man githooks
: Im gemeinsamen Repo, können Sie ein $(git rev-parse --git-dir)/hooks/pre-receive
oder $(git rev-parse --git-dir)/hooks/update
Skript erstellen dass überprüft, was Ihre Benutzer versuchen, auf die refs zu drücken. Git kommt mit einem
Andere Tipps
Mein niedriges Niveau Ansatz wäre einfach die RM das einzige mit SSH-Schlüssel sein lassen in das Repository all anderen Verwendung als Master-Basislinie zu schieben. Auf diese Weise niemand, aber der RM zu meistern schieben kann -. Doch jeder kann arbeiten, da sie ihre eigenen lokalen Entwicklungszweige und Devs haben können wie unter sich den Zweigen sie teilen
Der nächste Schritt ist es, einen Kochtopf-Tester für die Dinge zu machen, die bald in dem Master gehen. Dieser Topf wird normalerweise next
oder dev
genannt. Die Idee ist, dass der schlag eine Zweigstelle hat, desto länger kocht es vor einer Zusammenführung zu meistern. Dies gibt die RM volle Kontrolle über das, was Zweig absolvieren soll und immer noch gibt jeder ein Heads-up.