branche principale de verrouillage pour certains utilisateurs - git?
-
08-10-2019 - |
Question
Je voudrais forcer d'autres équipiers de ne pas travailler sur la branche principale mais sur une branche de développement. nous avons un centre git-référentiel où nous poussons notre travail en. je voudrais savoir s'il est possible de bloquer les utilisateurs de pousser des modifications au maître-branche, mais seulement permettre à certains utilisateurs de le faire.
Je voudrais avoir les éléments suivants "workflow"
- Le développement est toujours fait avec seulement une branche de développement
- la libération gestionnaire est responsable de la branche principale et seulement il est autorisé à des choses de fusion d'une branche de développement dans le maître et le pousser à la branche principale sur le référentiel central.
Est-ce possible et comment puis-je y parvenir?
La solution
Voir man githooks
: Dans le repo partagé, vous pouvez créer un script $(git rev-parse --git-dir)/hooks/pre-receive
ou $(git rev-parse --git-dir)/hooks/update
qui vérifie ce que vos utilisateurs essaient de pousser à qui refs. Git est livré avec un
Autres conseils
Mon approche de bas niveau serait tout simplement de laisser le RM être le seul avec les clés SSH pour pousser à tout le monde référentiel utiliser d'autre comme la ligne de base maître. De cette façon, personne mais le RM peut pousser à maîtriser -. Mais tout le monde peut travailler car ils ont leurs propres branches de développement local et devs peuvent partager entre eux les branches elles comme
L'étape suivante consiste à faire un testeur de pot de cuisson pour les choses qui vont dans maître bientôt. Ce pot est normalement appelé next
ou dev
. L'idée est que plus l'impact d'une branche a, plus il fait cuire avant une fusion à maîtriser. Cela donne le RM contrôle total sur ce que les branches devraient obtenir leur diplôme et donne toujours tout le monde un heads-up.