J'ai un seul repo dans lequel j'ai 2 groupes d'utilisateurs:
Je ne souhaite pas donner un accès en lecture/écriture de ma branche master
à mes développeurs HTML, car ils n'ont pas besoin de travailler dessus et ne doivent pas abuser du code principal.
Bien qu'ils aient besoin de travailler sur leur propre branche ui-developers
. Comment puis-je faire cela sur git?
P.S .: J'utilise BitBucket
MISE À JOUR:
J'avais posté cette question quand j'étais extrêmement nouveau en codage et git. Après 2 ans d'expérience, je sais maintenant que git ne permet pas de restreindre l'accès en lecture à une branche donnée. Mais des services comme Bitbucket, Gitlab, Github vous permettent d’imposer des restrictions d’écriture et de fusion à des branches.
De plus, je suis passé à Gitlab il y a 6 mois :)
Git lui-même n'a pas cette fonctionnalité, mais de nombreux fournisseurs d'hébergement en ont. Ceci est généralement appelé protection de branche . Autant que je sache, il n'y a aucun moyen d'empêcher l'accès en lecture.
BitBucket permet beaucoup de personnalisation pour les actions à éviter par protection de branche. Pour protéger une branche:
Accédez à un référentiel dans un projet.
Choisissez Paramètres> Autorisations de branche.
Cliquez sur Ajouter une autorisation.
Dans le champ Branches, sélectionnez Nom de la branche, Modèle de branche ou Modèle de branche.
Nom de la branche - sélectionnez une branche existante par son nom.
Modèle de branche - spécifiez une branche en utilisant la syntaxe de modèle de branche pour faire correspondre les noms de branche.
Modèle de branchement - sélectionnez le type de branche auquel restreindre l'accès.
Sélectionnez le type d'actions que vous souhaitez empêcher.
Suppression de branche - empêche la suppression de branche et de balise.
Réécriture de l’historique - empêche les réécritures de l’historique sur la ou les branches spécifiées - par exemple, par une force Push ou une nouvelle base.
Modifications sans demande d'extraction - empêche de transmettre les modifications directement aux branches spécifiées; les modifications sont autorisées uniquement avec une demande d'extraction.
Toutes les modifications - empêche les envois vers les branches spécifiées et limite la création de nouvelles branches correspondant aux branches ou modèles spécifiés.
Facultatif: Ajoutez des exemptions pour l'une des restrictions sélectionnées. Ajouter un utilisateur ou un groupe en tant qu'exemption signifie que cela ne leur sera pas applicable. Ce n'est pas obligatoire. ne pas ajouter d'exemptions signifie que la restriction s'appliquera à tout le monde.
Cliquez sur Créer pour terminer.
Branche protégée dans GitHub:
Ne peut pas être forcé
Ne peut être supprimé
Impossible de fusionner les modifications avant que les vérifications de statut requises soient réussies
Pour protéger une branche:
Sur GitHub, accédez à la page principale du référentiel.
Sous le nom de votre référentiel, cliquez sur Paramètres.
Dans le menu de gauche, cliquez sur Branches.
Sous Branches protégées, sélectionnez la branche que vous souhaitez marquer comme protégée à l'aide du menu déroulant.
Sélectionnez Protéger cette branche.
Cliquez sur Enregistrer les modifications.
Dans GitLab, protéger une branche a les effets suivants:
Pour protéger la branche:
Accédez à la page principale du projet.
Dans le coin supérieur droit, cliquez sur la molette de paramétrage et sélectionnez Branches protégées.
Dans le menu déroulant Branche, sélectionnez la branche que vous souhaitez protéger et cliquez sur Protéger.
Une fois cela fait, la branche protégée apparaîtra dans la liste "Déjà protégé".
Vous pouvez ensuite autoriser certains accès aux utilisateurs dotés de droits de développeur en cochant la case "Les développeurs peuvent fusionner" ou "Les développeurs peuvent envoyer".