À propos des branches
Les branches vous permettent de développer des fonctionnalités, de corriger des bogues ou d’expérimenter en toute sécurité de nouvelles idées dans une zone contenue de votre dépôt.
Pour créer une branche, vous partez toujours d’une branche existante. En règle générale, vous pouvez créer une branche à partir de la branche par défaut de votre dépôt. Vous pouvez ensuite travailler sur cette nouvelle branche indépendamment des changements apportés au dépôt par d’autres personnes. Une branche que vous créez pour générer une fonctionnalité est généralement appelée branche de fonctionnalité ou branche de rubrique. Pour plus d’informations, consultez « Création et suppression de branches dans votre référentiel ».
Vous pouvez aussi utiliser une branche pour publier un site GitHub Pages. Pour plus d’informations, consultez « Qu’est-ce que GitHub Pages ? ».
Vous devez disposer d’un accès en écriture à un dépôt pour créer une branche, ouvrir une demande de tirage (pull request) ou supprimer et restaurer des branches dans une demande de tirage. Pour plus d’informations, consultez « Autorisations d’accès sur GitHub ».
À propos de la branche par défaut
Quand vous créez un référentiel avec du contenu sur GitHub, GitHub crée ce référentiel avec une seule branche. Cette première branche du dépôt est la branche par défaut. La branche par défaut est la branche que GitHub présente quand une personne visite votre dépôt. La branche par défaut est également la branche initiale vers laquelle Git bascule localement quand une personne clone le dépôt.
Par défaut, GitHub nomme main la branche par défaut dans un nouveau dépôt.
{Données réutilisables - branches : changer la branche par défaut}
Vous pouvez définir le nom de la branche par défaut pour les nouveaux dépôts. Pour plus d’informations, consultez Gestion du nom de branche par défaut pour vos dépôts, Gestion du nom de branche par défaut pour les dépôts de votre organisation et Application de stratégies de gestion des dépôts dans votre entreprise.
Utilisation des branches
Une fois que vous êtes satisfait de votre travail, vous pouvez ouvrir une pull request pour fusionner les changements de la branche actuelle (la branche tête) dans une autre branche (la branche base). Pour plus d’informations, consultez « À propos des demandes de tirage (pull requests) ».
Une fois qu'une pull request a été fusionnée ou fermée, vous pouvez supprimer la branche de tête, car celle-ci n’est plus nécessaire. Vous devez disposer d’un accès en écriture au dépôt pour supprimer des branches. Vous ne pouvez pas supprimer les branches directement associées à des pull requests ouvertes. Pour plus d’informations, consultez « Suppression et restauration de branches dans un pull request ».
Si vous supprimez une branche de tête (head) une fois que sa demande de tirage a été fusionnée, GitHub recherche les demandes de tirage ouvertes du même dépôt qui spécifient la branche supprimée comme branche de base. GitHub met automatiquement à jour ces demandes de tirage, en remplaçant leur branche de base par la branche de base de la demande de tirage fusionnée. Les diagrammes suivants illustrent ce point.
Ici, une personne a créé une branche appelée feature1 à partir de la branche main, et vous avez ensuite créé une branche appelée feature2 à partir de feature1. Il y a des pull requests ouvertes pour les deux branches. Les flèches indiquent la branche de base actuelle pour chaque pull request. À ce stade, feature1 est la branche de base de feature2. Si la pull request pour feature2 est fusionnée maintenant, la branche feature2 sera fusionnée dans feature1.

Dans le diagramme suivant, une personne a fusionné le pull request de feature1 dans la branche main et a supprimé la branche feature1. En conséquence, GitHub a automatiquement reciblé la pull request pour feature2 afin que sa branche de base soit désormais main.

À présent, quand vous fusionnez la pull request feature2, elle sera fusionnée dans la branche main.
Utilisation de branches protégées
Les administrateurs du référentiel ou les rôles personnalisés disposant de l’autorisation « modifier les règles du référentiel » peuvent activer les protections sur une branche. Si vous travaillez sur une branche protégée, vous ne pouvez pas supprimer une branche ni forcer une poussée (push) vers la branche. Les administrateurs de dépôt peuvent également activer plusieurs autres paramètres de branche protégée pour appliquer divers workflows avant qu’une branche ne puisse être fusionnée.
Remarque
Si vous êtes administrateur de dépôt, vous pouvez fusionner des demandes de tirage sur des branches dotées de protections activées même si la demande de tirage ne satisfait pas aux exigences, sauf si les protections de branche ont été définies sur « Inclure les administrateurs »
Pour voir si votre demande de tirage peut être fusionnée, examinez la zone de fusion située au bas de l’onglet Conversation de la demande de tirage. Pour plus d’informations, consultez « À propos des branches protégées ».
Quand une branche est protégée :
- Vous ne pouvez pas supprimer la branche ni forcer une poussée (push) vers elle.
- Si des vérifications d’état obligatoires sont activées sur la branche, vous ne pouvez pas fusionner les changements dans la branche tant que tous les tests CI nécessaires ne sont pas réussis. Pour plus d’informations, consultez « À propos des vérifications d’état ».
- Si les revues de pull request obligatoires sont activées sur la branche, vous ne pouvez pas fusionner les modifications dans la branche tant que toutes les exigences de la politique de revue des pull requests ne sont pas satisfaites. Pour plus d’informations, consultez « Fusion d'une pull request ».
- Si une révision obligatoire est activée sur une branche par un propriétaire de code et qu’une demande de tirage modifie du code associé à un propriétaire, un propriétaire de code doit d’abord approuver la demande de tirage pour qu’elle puisse être fusionnée. Pour plus d’informations, consultez « À propos des propriétaires de code ».
- Si une signature de commit obligatoire est activée sur une branche, vous ne pouvez pas "push" des commits vers la branche s’ils ne sont pas signés ni vérifiés. Pour plus d’informations, consultez « À propos de la vérification des signatures de commit » et « À propos des branches protégées ».
- Si vous utilisez l’éditeur de conflit de GitHub pour corriger les conflits d’une demande de tirage que vous avez créée à partir d’une branche protégée, GitHub vous aide à créer une autre branche pour la demande de tirage, afin que votre résolution des conflits puisse être fusionnée. Pour plus d’informations, consultez « Résolution d’un conflit de fusion sur GitHub ».
Pour aller plus loin
-
[AUTOTITLE](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) -
[AUTOTITLE](/get-started/learning-about-github/github-glossary#branch) dans le glossaire de GitHub -
[Les branches en bref](https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell) dans la documentation de Git