Les branches sont au cœur du concept de contrôle de version en programmation, et Git en particulier. Cet article de démarrage vous explique ce qu'est une branche et comment en créer une à l'aide d'un certain nombre d'outils différents.
Qu'est-ce qu'une branche Git ?
Dans les systèmes de contrôle de version, le terme branche est utilisé par analogie avec les arbres dans le sens où chaque branche émerge d'une autre, pour finalement revenir au tronc. Les branches vous permettent de créer des lignes de développement individuelles, afin de les travailler de manière isolée sans perturber les autres travaux.
Connexes : Comment utiliser les branches Git pour structurer votre projet de programmation
En utilisant Git, vous travaillerez par défaut sur la branche master , que vous en soyez conscient ou non. Ceci est souvent appelé votre branche active , actuelle , extraite ou HEAD . A tout moment au cours de votre cycle de développement, vous pouvez créer une nouvelle branche et effectuer un travail séparé dans chaque branche, à partir de ce moment-là.
Création d'une nouvelle branche sur la ligne de commande
Le programme Git en ligne de commande offre le plus de puissance et de flexibilité, mais il y a beaucoup à apprendre. Si vous êtes à l'aise pour fouiller dans les pages de manuel et faites un usage intensif de Git, c'est une excellente option.
Utilisez la commande git branch pour créer une nouvelle branche avec le nom donné :
$ git branch dev Branch 'dev' set up to track local branch 'master'.
Cela se branche à partir de la branche actuelle, alors assurez-vous que vous êtes passé à celle à partir de laquelle vous souhaitez créer une branche avant d'exécuter cette commande.
Vous pouvez lister toutes les branches et confirmer que la nouvelle a été créée à l'aide de git branch sans aucun argument :
$ git branch 1 dev 2 * master
Vous pouvez voir plus d'informations, y compris quelle branche un autre suit, en utilisant l' indicateur -vv :
$ git branch -vv 1 dev d1a9e5b [master] commit comment 2 * master d1a9e5b commit comment
Si vous essayez de créer une branche avant le premier commit, vous obtiendrez un message d'erreur du type :
fatal: Not a valid object name: 'master'.
Si vous essayez de créer une branche en utilisant un nom qui existe déjà, vous obtiendrez un message d'erreur du type :
fatal: A branch named 'dev' already exists.
La commande git branch crée une nouvelle branche pointant vers le même commit sur lequel vous travaillez actuellement. Cependant, votre copie de travail pointera toujours vers la branche master. Pour basculer vers la nouvelle branche que vous venez de créer, utilisez git checkout :
git checkout dev
Le terme checkout peut prêter à confusion si vous êtes habitué à d'autres systèmes de contrôle de version ; dans Git, l' extraction fait référence au changement de branche actuellement active. Étant donné que vous souhaiterez généralement passer à une nouvelle branche une fois celle-ci créée, il existe un raccourci pour l'ensemble du processus :
git checkout -b dev
Cette commande signifie "créer une nouvelle branche appelée 'dev' et y basculer immédiatement". C'est l'équivalent de :
git branch dev git checkout dev
En fait, vous pouvez même utiliser git checkout pour créer une branche à partir de n'importe quelle autre, pas seulement celle qui est actuellement extraite. Par exemple, pour créer une nouvelle branche appelée other , à partir de la branche appelée dev :
git checkout -b another dev
Création d'une nouvelle branche à l'aide de GitHub Desktop
Une autre façon de créer des branches Git sous Windows ou macOS consiste à utiliser GitHub Desktop , le programme officiel d'interface utilisateur graphique (GUI) fourni par GitHub. L'utilisation d'une interface graphique est parfaite pour les débutants et ceux qui font des cauchemars lorsque quelqu'un murmure le mot Vim.
GitHub Desktop affichera toujours votre branche actuelle dans la barre d'outils principale :
Cliquez sur ce bouton de la barre d'outils principale pour afficher les détails des branches du référentiel, y compris la possibilité de créer une nouvelle branche :
Notez que, si vous commencez à taper un nom de branche sans correspondance, GitHub Desktop vous invite à créer une nouvelle branche et affiche le raccourci clavier pour le faire, utile si c'est vraiment le genre de chose que vous vous retrouvez souvent à faire :
Vous pouvez également commencer en appuyant immédiatement sur le bouton Nouvelle branche . Quelle que soit la route que vous empruntez, vous vous retrouverez avec une boîte de dialogue pour confirmer le nouveau nom de la branche :
Votre nouvelle branche sera toujours basée sur la branche qui était active lorsque vous l'avez créée. GitHub Desktop passera à votre nouvelle branche qui suivra automatiquement la branche à partir de laquelle vous l'avez créée.
Création d'une nouvelle succursale à l'aide de Tower
D'autres interfaces graphiques sont disponibles auprès de tiers. Tower est gratuit pour une période d'essai de 30 jours et est disponible sur macOS et Windows.
Pour créer une nouvelle branche à partir de la branche actuellement extraite, sélectionnez Créer une nouvelle branche dans le menu principal Référentiel :
Pour créer une nouvelle branche à partir de n'importe quelle branche disponible, cliquez avec le bouton droit sur la branche dans la barre latérale gauche et sélectionnez Créer une nouvelle branche à partir de :
Notez que, dans les deux cas, vous pouvez activer la branche en tant que branche de suivi ou modifier le point de départ pour n'importe quelle branche disponible :
Créer une nouvelle branche avec GitKraken
GitKraken est une autre interface graphique populaire qui peut sembler intimidante au premier abord, mais elle représente bien visuellement les concepts clés de Git, y compris les branches. GitKraken est gratuit pour une utilisation open source et est disponible pour Windows, Mac et Linux.
Assurez-vous que vous travaillez avec la bonne branche active ; c'est celui mis en évidence dans la liste des branches dans la barre latérale gauche :
Pour créer une nouvelle branche, cliquez sur l'icône de branche dans la barre d'outils principale :
Entrez le nom de votre succursale et appuyez sur ENTRÉE :
La nouvelle succursale sera automatiquement extraite et vous recevrez une notification sur le côté droit de l'écran.
Créer une nouvelle branche sur GitHub
Au lieu d'exécuter une application locale, vous pouvez héberger votre référentiel sur l'une des deux applications Web populaires prenant en charge Git. Le premier, GitHub , est une option très populaire auprès de la communauté open source.
GitHub affiche votre branche actuelle (active) dans la vue de votre référentiel, près du coin supérieur gauche :
Cliquez sur le bouton pour afficher les branches existantes :
Tapez le nom de votre nouvelle branche et notez que vous avez la possibilité de la créer à partir de la branche actuelle :
Une fois créée, votre nouvelle branche devient active.
Créer une nouvelle branche sur Bitbucket
Bitbucket est une autre application Web de contrôle de version populaire qui propose des comptes gratuits avec un nombre illimité de référentiels privés.
Depuis n'importe quelle page de votre référentiel, sélectionnez l' élément Branches dans le menu de gauche :
Cliquez sur le bouton Créer une branche en haut à droite. Saisissez le nouveau nom de la succursale et cliquez sur Créer . Si vous devez créer une branche à partir de n'importe où autre que master , modifiez d'abord la branche From :
Bitbucket facilite la sélection d'un type qui est un préfixe ajouté au nom de la branche qui peut encourager une approche plus organisée des branches. C'est juste une convention, plutôt qu'une fonctionnalité Git intégrée, mais cela peut s'avérer utile.
Une fois créé, Bitbucket affiche une vue de votre nouvelle branche :
Apprenez à vous diversifier avec Git
Git est une question de branches : elles sont peu coûteuses à créer et elles permettent à plusieurs flux de travail de coexister, prêts à être fusionnés une fois terminés. Une fois que vous serez familiarisé avec la création, le changement et la fusion de branches, vous serez sur la bonne voie pour utiliser Git à son plein potentiel.