Comment restreindre l'accès à la branche principale sur git

j'ai un seul repo dans lequel j'ai 2 groupes d'utilisateurs:

  • Admins
  • HTML/UI Developers

Je ne souhaite pas donner l'accès en lecture/écriture de ma branche master à mes développeurs HTML car ils n'ont pas besoin de travailler dessus et ne devraient pas abuser du code de base.

bien qu'ils aient besoin de travailler sur leur propre branche ui-developers . Comment je fais sur git?

P. S.: j'utilise BitBucket

20
demandé sur Harshit Agrawal 2016-08-10 07:41:54

1 réponses

Git lui-même ne dispose pas d'une telle fonctionnalité, mais de nombreux fournisseurs d'hébergement le font. Ce système est généralement connu sous le nom de protection de branche . Pour autant que je sache, il n'y a aucun moyen d'empêcher l'accès en lecture.

Utilisant BitBucket

BitBucket permet beaucoup de personnalisation pour les actions à prévenir par protection de branche. Pour protéger une branche:

  1. aller dans un dépôt dans un projet.

  2. choisissez Paramètres > permissions de la branche.

  3. cliquez sur Ajouter une permission.

  4. dans le champ Branches, sélectionnez soit le nom de la branche, soit le motif de la branche, ou le modèle de la branche.

    • nom de la succursale - sélectionnez une succursale existante par nom.

    • schéma de branche-spécifier une branche utilisant la branche syntaxe de motif pour apparier les noms de branche.

    • Ramification modèle - sélectionnez la branche type de restreindre l'accès.

  5. sélectionnez le type d'actions que vous souhaitez prévenir.

    • suppression de branche - empêche la suppression de branche et d'étiquette.

    • Réécriture de l'histoire - empêche l'histoire réécrit sur la(les) branche (s) spécifiée (s) - par exemple par une poussée ou un rebasage.

    • Modifications sans une pull request - empêche de pousser des changements directement à la branche(es); les changements sont autorisé uniquement avec un pull request.

    • toutes les modifications - empêchent les pousses vers la(Les) branche(s) spécifiée (s) et restreint la création de nouvelles branches correspondant à la (aux) branche (s) ou au modèle spécifié (s).

  6. facultatif: ajouter des exemptions pour l'une des restrictions sélectionnées. L'ajout d'un utilisateur ou d'un groupe comme une exemption signifie qu'il ne s'applique pas à eux. Cela n'est pas nécessaire; ne pas ajouter d'exemptions signifie que la restriction s'appliquera à tout le monde.

  7. cliquez sur Créer pour terminer.

Source

Avec GitHub

branche protégée en GitHub:

  • ne peut pas être poussé par la force

  • ne peut pas être supprimé

  • ne peut pas y avoir fusionné de modifications tant que les contrôles de statut requis n'ont pas été effectués

pour protéger une branche:

  1. Sur GitHub, accédez à la page principale de l' référentiel.

  2. sous votre nom de dépôt, cliquez sur Paramètres.

  3. dans le menu de gauche, cliquez sur Branches.

  4. sous Branches protégées, sélectionnez la branche que vous voulez marquer protégée en utilisant le menu déroulant.

  5. sélectionnez protéger cette branche.

  6. Cliquez Sur Enregistrer changement.

Source

Utilisant GitLab

dans GitLab, protéger une branche fait ce qui suit:

  • il empêche sa création, si pas déjà créé, de tout le monde sauf les utilisateurs avec la permission de Maître
  • il empêche les pressions de tout le monde sauf les utilisateurs avec la permission de Maître
  • il empêche toute personne à partir de la force de pousser à la branche
  • il empêche quiconque de supprimer la branche

pour protéger la branche:

  1. naviguez jusqu'à la page principale du projet.

  2. dans le coin supérieur droit, cliquez sur la roue paramètres et sélectionnez branches protégées.

  3. dans le menu déroulant de la branche, sélectionnez la branche que vous souhaitez protéger et cliquez sur Protéger.

  4. une fois terminée, la branche protégée apparaîtra dans la liste "déjà protégée".

vous pouvez alors autoriser un certain accès aux utilisateurs avec des droits de développeur en cochant "les développeurs peuvent fusionner" ou" les développeurs peuvent pousser "

Source

36
répondu 1615903 2017-07-06 05:31:39