Comment protéger "master" en github?

j'ai quelques contributeurs dans mon projet github. Je veux permettre à un seul d'entre eux à "pousser" pour maître. Et ce type n'est pas moi (le propriétaire du dépôt). Est-il possible de le faire?

42
demandé sur Titas 2012-04-30 13:53:44

4 réponses

à l'époque, lorsque cette question a été affichée, GitHub ne vous permettait pas de spécifier des privilèges d'accès au niveau d'une branche. Vous ne pouvez le faire qu'au niveau du dépôt. Donc, ce que vous demandez n'était pas possible.

si vous voulez contourner cette limitation, je vois personnellement deux options:

  • vous pourriez utiliser une sorte de crochets de propagation, etc. pour au moins informer quelqu'un que quelque chose de mal est arrivé
  • si vous êtes vraiment si vous avez besoin de ce contrôle serré, vous pouvez utiliser deux dépôts, l'un ne contenant que votre branche "maître". Vous devez ensuite vous assurer que seul votre "gars" a accès en écriture au dépôt principal

je pense qu'il est plus facile de résoudre cela avec une certaine organisation. Dans mon équipe, on ne pousse jamais rien directement au maître, mais on crée toujours des demandes d'attraction. Cela garantit qu'au moins quelqu'un jette un oeil avant que le code soit fusionné et vous pouvez également définir une politique qui seul votre "gars" est autorisé à fusionner les requêtes pull.

mise à Jour

GitHub annonce maintenant qu'ils vont déployer une nouvelle fonctionnalité appelée branches protégées. Cette caractéristique est présente dans d'autres distributions de git comme Atlassian Stash depuis des années. Il vous permettra de protéger certaines branches de pousse. Cependant, il ne permet toujours pas une protection complète basée sur la LCA de chaque branche. Donc, vous pourriez souhaitez vérifier cette fonction dans le cas où vous ne voulez pas compter sur une organisation comme présenté ci-avant.

34
répondu Sebi 2015-09-07 07:15:20

Note: branches protégées et contrôles de statut requis (3 septembre 2015) vous permettra de protéger une branche

  • contre la poussée forcée
  • contre suppression
  • contre les changements fusionnés jusqu'à ce que les contrôles de statut requis soient réussis

https://cloud.githubusercontent.com/assets/25792/9596474/27db3ce6-502a-11e5-9b19-5b47a8addc65.png


Depuis Mars 2016, comme a commenté par Sander ci-dessous, vous avez restrictions de l'Utilisateur et de l'équipe

parfois fusionne à une branche protégée sont mieux laissés à un directeur de publication ou une équipe de personnes responsables de la stabilité de cette branche particulière. Les organisations peuvent maintenant préciser les membres et les équipes qui sont en mesure de passer à une direction générale protégée.

https://cloud.githubusercontent.com/assets/4719/14140705/ed98abac-f67a-11e5-951e-b48c842fb77f.png

9
répondu VonC 2017-05-23 11:54:41

c'est exactement pour cela que la fourche a été conçue. Vous auriez le dépôt principal protégé, et vous autoriseriez les permissions de lecture sur ce dépôt pour tous les contributeurs. Ces contributeurs bifurqueraient la mise à jour de la mise à jour, et appuieraient leurs modifications sur leurs copies personnelles de la mise à jour principale. Lorsqu'ils sont prêts à introduire du code dans le dépôt principal, ils soumettront une requête pull dans le dépôt principal. Dans ce cas, les propriétaires du projet principal pourraient compléter la demande de retrait.

3
répondu kbuilds 2015-02-09 02:32:18

nous pouvons maintenant utiliser le fichier" CODEOWNERS " pour exiger une révision de la part des propriétaires de Code afin de valider une demande de retrait. Nous pouvons définir différentes permissions en fonction de leur compte GitHub.

voir ici et ici

0
répondu Malick 2018-02-26 11:32:05