Skip to main content

Gestion d’une règle de protection de branche

Vous pouvez créer une règle de protection de branche pour appliquer certains workflows dans une ou plusieurs branches, par exemple exiger une révision d’approbation ou passer des vérifications d’état pour toutes les demandes de tirage (pull requests) fusionnées dans la branche protégée.

Who can use this feature

People with admin permissions to a repository can manage branch protection rules.

Les branches protégées sont disponibles dans les dépôts publics avec GitHub Free et GitHub Free pour les organisations, et dans les dépôts publics et privés avec GitHub Pro, GitHub Team, GitHub Enterprise Cloud et GitHub Enterprise Server.

À 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 *. Étant donné que GitHub utilise l’indicateur File::FNM_PATHNAME pour la syntaxe File.fnmatch, le caractère générique ne correspond pas aux séparateurs de répertoires (/). Par exemple, qa/* correspond à toutes les branches commençant par qa/ et contenant une barre oblique unique. Vous pouvez inclure plusieurs barres obliques avec qa/**/*, et vous pouvez étendre la chaîne qa avec qa**/**/* pour rendre la règle plus inclusive. Pour plus d’informations sur les options de syntaxe des règles de branche, consultez la documentation fnmatch.

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 ».

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.

  1. Dans your GitHub Enterprise Server instance, accédez à la page principale du dépôt. 1. Sous le nom de votre dépôt, cliquez sur Paramètres. Bouton Paramètres du dépôt

  2. Dans la section « Code et automatisation » de la barre latérale, cliquez sur Branches.

  3. À côté de « Règles de protection de branche », cliquez sur Ajouter une règle. Bouton Ajouter une règle de protection de branche

  4. Sous « Modèle de nom de branche », tapez le nom ou le modèle de branche à protéger. Champ de règle de branche

  5. Si vous le souhaitez, activez les demandes de tirage (pull requests) requises.

    • Sous « Protéger les branches correspondantes », sélectionnez Exiger une demande de tirage avant de fusionner. Case à cocher de restriction de révision de demande de tirage
    • Si vous le souhaitez, pour exiger des approbations avant qu’une demande de tirage puisse être fusionnée, sélectionnez Exiger des approbations, cliquez sur le menu déroulant Nombre requis d’approbations avant de fusionner, puis sélectionnez le nombre de révisions d’approbation que vous souhaitez exiger sur la branche. Menu déroulant pour sélectionner le nombre d’approbations de révision requises
    • Si vous le souhaitez, pour ignorer une révision d’approbation de demande de tirage lorsqu’un commit de modification de code est poussé vers la branche, sélectionnez Ignorer les approbations de demandes de tirage obsolètes lorsque de nouveaux commits sont poussés. Case à cocher Ignorer les approbations de demandes de tirage obsolètes lorsque de nouveaux commits sont poussé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. Pour plus d’informations, consultez « À propos des propriétaires de code ». Exiger une révision de la part 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 doivent être autorisés à ignorer la création d’une demande de tirage. Case à cocher Autoriser les acteurs spécifiés à contourner les demandes de tirage requises
    • Si vous le souhaitez, si le dépôt fait partie d’une organisation, sélectionnez Restreindre qui peut ignorer les révisions de demandes de tirage. Ensuite, recherchez et sélectionnez les acteurs autorisés à ignorer les révisions de demandes de tirage. Pour plus d’informations, consultez « Abandonner une revue de demande de tirage ». Case à cocher Restreindre qui peut ignorer les révisions de demandes de tirage
  6. 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. Option de vérifications d’état requises
    • Si vous le souhaitez, pour être sûr que les demandes de tirage 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 la fusion. Case à cocher d’état requis lâche ou strict
    • Recherchez les vérifications d’état, en sélectionnant celles que vous souhaitez exiger. Interface de recherche pour les vérifications d’état disponibles, avec la liste des vérifications requises
  7. Si vous le souhaitez, sélectionnez Exiger une résolution de conversation avant de fusionner. Option Exiger une résolution de conversation avant de fusionner

  8. Si vous le souhaitez, sélectionnez Exiger des commits signés. Option Exiger des commits signés

  9. Si vous le souhaitez, sélectionnez Exiger un historique linéaire. Option Exiger un historique linéaire

  10. 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. Option Exiger la réussite du déploiement

  11. Si vous le souhaitez, sélectionnez Appliquer les règles ci-dessus aux administrateurs. Case à cocher Appliquer les règles ci-dessus aux administrateurs

  12. Si vous le souhaitez, activez les restrictions de branche.

    • Sélectionnez Restreindre qui peut effectuer un push vers les branches correspondantes. Case à cocher de restriction de branche
    • 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. Recherche de restriction de branche
  13. Si vous le souhaitez, sous « Règles appliquées à tous, y compris les administrateurs », sélectionnez Autoriser les poussées de force. Option Autoriser les poussées de force Ensuite, choisissez 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. Capture d’écran des options permettant de spécifier qui peut forcer la poussée

      Pour plus d’informations sur les poussées forcées, consultez « Autoriser les poussées forcées ».

  14. Si vous le souhaitez, sélectionnez Autoriser les suppressions. Option Autoriser les suppressions de branche

  15. Cliquez sur Créer.

Modification d’une règle de protection de branche

  1. Dans your GitHub Enterprise Server instance, accédez à la page principale du dépôt. 1. Sous le nom de votre dépôt, cliquez sur Paramètres. Bouton Paramètres du dépôt

  2. Dans la section « Code et automatisation » de la barre latérale, cliquez sur Branches.

  3. À droite de la règle de protection de branche que vous souhaitez modifier, cliquez sur Modifier. Edit button

  4. Apportez vos modifications souhaitées à la règle de protection de branche.

  5. Cliquez sur Save changes. Bouton Enregistrer les modifications

Suppression d’une règle de protection de branche

  1. Dans your GitHub Enterprise Server instance, accédez à la page principale du dépôt. 1. Sous le nom de votre dépôt, cliquez sur Paramètres. Bouton Paramètres du dépôt

  2. Dans la section « Code et automatisation » de la barre latérale, cliquez sur Branches.

  3. À droite de la règle de protection de branche que vous souhaitez supprimer, cliquez sur Supprimer. Delete button