À propos des branches
Utilisez une branche pour isoler le travail de développement sans affecter les autres branches du dépôt.
Chaque dépôt a une branche par défaut et peut avoir plusieurs autres branches. Vous pouvez fusionner une branche dans une autre branche en utilisant une demande de tirage (pull request). À 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 dépôt ».
Vous pouvez aussi utiliser une branche pour publier un site GitHub Pages.
Pour plus d’informations, consultez « À propos de 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.com, GitHub crée ce référentiel avec une branche unique. 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.
À moins que vous n’indiquiez une autre branche, la branche par défaut d’un dépôt est la branche de base pour les nouvelles demandes de tirage et les nouveaux commits de code.
Par défaut, GitHub nomme main
la branche par défaut dans un nouveau dépôt. Vous pouvez changer la branche par défaut d’un dépôt existant. Pour plus d’informations, consultez « Changement de 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 « Enforcing repository management policies in your enterprise ». Utilisation des branches Une fois que vous êtes satisfait de votre travail, vous pouvez ouvrir une demande de tirage pour fusionner les changements de la branche actuelle (la branche principale) dans une autre branche (la branche de base). Pour plus d’informations, consultez « À propos des demandes de tirage (pull requests) ».
Une fois qu’une demande de tirage a été fusionnée ou fermée, vous pouvez supprimer la branche principale, 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 demandes de tirage ouvertes. Pour plus d’informations, consultez « Suppression et restauration de branches dans une demande de tirage ». 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
.
Les flèches indiquent la branche de base actuelle pour chaque demande de tirage. À ce stade, feature1
est la branche de base de feature2
.
merge-pull-request-button
Dans le diagramme suivant, une personne a fusionné la demande de tirage pour feature1
dans la branche main
, puis elle a supprimé la branche feature1
.
En conséquence, GitHub a automatiquement reciblé la demande de tirage pour feature2
afin que sa branche de base soit maintenant main
. merge-pull-request-button À présent, quand vous fusionnez la demande de tirage feature2
, elle l’est dans la branche main
.
Utilisation de branches protégées
Les administrateurs de dépôts ou les rôles personnalisés avec l’autorisation « modifier les règles de dépôt » 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 ».
Si une signature de commit obligatoire est activée sur une branche, vous ne pouvez pas pousser (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 ».