À propos des règles de protection de branche
Vous pouvez créer une règle de protection de branche dans un référentiel pour une branche spécifique, pour toutes les branches ou pour toute branche qui correspond à un modèle de nom que vous spécifiez avec la syntaxe fnmatch. Par exemple, pour protéger toutes les branches contenant le mot release, vous pouvez créer une règle de branche pour *release*.
Vous pouvez créer une règle pour toutes les branches actuelles et futures dans votre dépôt avec la syntaxe générique *.
Si un dépôt a plusieurs règles de branches protégées qui affectent les mêmes branches, les règles qui incluent un nom de branche spécifique ont la priorité la plus élevée. Si plusieurs règles de branche protégée référencent le même nom de branche spécifique, la règle de branche créée en premier aura une priorité plus élevée.
Les règles de branches protégées qui mentionnent un caractère spécial, tel que *, ? ou ], sont appliquées dans l’ordre dans lequel elles ont été créées ; les règles les plus anciennes avec ces caractères ont donc une priorité plus élevée.
Pour créer une exception à une règle de branche existante, vous pouvez créer une règle de protection de branche de priorité plus élevée, telle qu’une règle de branche pour un nom de branche spécifique.
Pour plus d’informations sur chacun des paramètres de protection de branche disponibles, consultez « À propos des branches protégées ».
Remarque
Une seule règle de protection de branche peut s’appliquer à la fois, ce qui signifie qu’il peut être difficile de savoir quelle règle s’applique lorsque plusieurs versions d’une règle ciblent la même branche. De plus, vous voudrez peut-être créer un seul ensemble de règles qui s’applique à plusieurs dépôts d’une organisation. Pour plus d’informations sur une alternative aux règles de protection de branche, consultez À propos des ensembles de règles.
Création d’une règle de protection de branche
Lorsque vous créez une règle de branche, la branche que vous spécifiez n’a pas encore besoin d’exister dans le dépôt.
Remarque
Les acteurs peuvent être ajoutés uniquement pour contourner les listes quand le référentiel appartient à une organisation.
-
Facultativement, activez les pull requests requises.
Remarque
Si vous sélectionnez Ignorer les approbations de demandes de tirage obsolètes lorsque de nouveaux commits sont poussés et/ou Demander l’approbation de la poussée révisable la plus récente, la création manuelle du commit de fusion pour une demande de tirage (pull request) et sa poussée (push) directement vers une branche protégée échouent, sauf si le contenu de la fusion correspond exactement à la fusion générée par GitHub pour la demande de tirage.
En outre, avec ces paramètres, l’approbation des révisions est ignorée comme obsolète si la base de fusion introduit de nouvelles modifications après l’envoi de la révision. La base de fusion est le commit qui est le dernier ancêtre commun entre la branche de rubrique et le branche de base. Si la base de fusion change, la demande de tirage ne peut pas être fusionnée tant que quelqu’un n’a pas approuvé à nouveau le travail.
-
Sous « Protéger les branches correspondantes », sélectionnez Exiger une pull request avant de fusionner.
-
Pour demander des approbations avant la fusion d’une demande de tirage, sélectionnez Demander des approbations.
Sélectionnez le menu déroulant Nombre d’approbations nécessaires avant la fusion, puis sélectionnez le nombre de révisions d’approbation que vous souhaitez demander sur la branche.
-
Si vous le souhaitez, pour révoquer une révision d’approbation de pull request lorsqu’un commit modifiant le code est appliqué à la branche, sélectionnez Révoquer les approbations de pull request obsolètes lorsque de nouveaux commits sont appliqués.
-
Si vous le souhaitez, pour exiger une révision de la part d’un propriétaire de code lorsque la demande de tirage affecte du code qui a un propriétaire désigné, sélectionnez Exiger une révision de la part des propriétaires de code. Notez que si le code a plusieurs propriétaires, l’approbation de n’importe lequel d’entre eux sera suffisante pour satisfaire à cette exigence. Pour plus d’informations, consultez « À propos des propriétaires de code ».
-
Si vous le souhaitez, pour autoriser des acteurs spécifiques à pousser du code vers la branche sans créer de demandes de tirage lorsqu’elles sont exigées, sélectionnez Autoriser les acteurs spécifiés à contourner les demandes de tirage requises. Ensuite, recherchez et sélectionnez les acteurs qui peuvent être autorisés à ignorer la création d’une pull request.
-
Si vous le souhaitez, si le dépôt fait partie d’une organisation, sélectionnez Restreindre qui peut rejeter les revues de pull request. Ensuite, dans le champ de recherche, recherchez et sélectionnez les acteurs autorisés à rejeter les révisions de pull request. Pour plus d’informations, consultez « Rejeter la revue d'une pull request ».
-
Si vous le souhaitez, pour exiger d'une autre personne que celle ayant effectué le dernier push vers une branche qu'elle approuve une pull request avant la fusion, sélectionnez Exiger l'approbation du dernier push révisé. Pour plus d’informations, consultez « À propos des branches protégées ».
-
-
Si vous le souhaitez, activez les vérifications d’état requises. Pour plus d’informations, consultez « À propos des vérifications d’état ».
- Sélectionnez Exiger la réussite des vérifications d’état avant de fusionner.
- Si vous le souhaitez, pour vous assurer que les pull requests sont testées avec le code le plus récent de la branche protégée, sélectionnez Exiger que les branches soient à jour avant de fusionner.
- Dans le champ de recherche, recherchez les vérifications d’état, en sélectionnant celles que vous souhaitez exiger.
-
Si vous le souhaitez, sélectionnez Exiger une résolution de conversation avant de fusionner.
-
Si vous le souhaitez, sélectionnez Exiger des commits signés.
-
Si vous le souhaitez, sélectionnez Exiger un historique linéaire.
-
Si vous le souhaitez, pour fusionner des pull requests à l’aide d’une file d’attente de fusion, sélectionnez Requérir une file d’attente de fusion. Pour plus d’informations sur les files d’attente de fusion, consultez Gestion d’une file d’attente de fusion.
-
Si vous le souhaitez, pour choisir les environnements sur lesquels les modifications doivent être correctement déployées avant la fusion, sélectionnez Exiger la réussite des déploiements avant de fusionner, puis sélectionnez les environnements.
-
Vous pouvez éventuellement définir la branche en lecture seule.
- Sélectionnez Verrouiller la branche.
- Si vous le souhaitez, pour autoriser la synchronisation de la duplication, sélectionnez Autoriser la synchronisation de la duplication.
-
Si vous le souhaitez, sélectionnez Ne pas autoriser le contournement des paramètres ci-dessus.
-
Si vous le souhaitez, activez les restrictions de branche.
- Sélectionnez Restreindre qui a le droit de faire un push vers les branches correspondantes.
- Si vous le souhaitez, pour restreindre également la création de branches correspondantes, sélectionnez Restreindre les poussées qui créent des branches correspondantes.
- Dans le champ de recherche, recherchez et sélectionnez les personnes, équipes ou applications qui auront l’autorisation de pousser vers la branche protégée ou de créer une branche correspondante.
-
Si vous le souhaitez, sous « Règles appliquées à tous, y compris les administrateurs », sélectionnez Autoriser les poussées de force.
Ensuite, choisissez ensuite qui peut forcer la poussée vers la branche.
- Sélectionnez Tout le monde pour autoriser toute personne ayant au moins des autorisations d’écriture dans le dépôt à forcer la poussée vers la branche, y compris celles disposant d’autorisations d’administrateur.
- Sélectionnez Spécifier qui peut forcer la poussée pour autoriser uniquement des acteurs spécifiques à forcer la poussée vers la branche. Ensuite, recherchez et sélectionnez ces acteurs.
Pour plus d’informations sur les poussées de force, consultez « À propos des branches protégées ».
-
Si vous le souhaitez, sélectionnez Autoriser les suppressions.
-
Cliquez sur Créer.
Modification d’une règle de protection de branche
- À droite de la règle de protection de branche que vous souhaitez modifier, cliquez sur Modifier.
- Apportez vos modifications souhaitées à la règle de protection des branches.
- Cliquez sur Save changes.
Suppression d’une règle de protection de branche
- À droite de la règle de protection de branche que vous souhaitez supprimer, cliquez sur Supprimer.