Comment créer une nouvelle branche Git comme un pro

Photo of author

By pierre



La gestion des branches est une fonctionnalité cruciale de Git. Elle vous permet de travailler sur une fonctionnalité spécifique ou un composant logiciel sans perturber le code principal.

En tant que développeur, c’est l’occasion d’effectuer des modifications importantes sur votre code source et de choisir comment les gérer. Vous pouvez ensuite décider de les intégrer ou de les supprimer de votre projet global.

Si vous avez déjà utilisé Git, vous avez probablement remarqué qu’il existe plusieurs façons de créer des branches. Si vous êtes un développeur débutant et que vous n’avez pas encore exploré Git, maîtriser les outils de contrôle de version vous fera gagner un temps considérable et rendra votre expérience de développement plus enrichissante.

Cet article est conçu pour vous guider pas à pas dans la création de branches Git dans votre flux de travail. À terme, vous aurez acquis des compétences solides pour maintenir vos dépôts GitHub.

Note : Si vous êtes un nouveau développeur, assurez-vous d’avoir configuré votre compte GitHub avant de continuer. Si c’est déjà fait, passez directement aux procédures. Cependant, un rappel rapide ne fera pas de mal pour solidifier vos connaissances.

Que sont les branches Git ?

Source : atlassian.com

Une branche dans Git représente une version de votre dépôt qui diffère de votre projet principal (une fonctionnalité présente dans tous les systèmes modernes de contrôle de version). En termes simples, vous vous écartez de la ligne de développement principale et travaillez sans la modifier.

De nombreux outils de contrôle de version (VCS) utilisent cette approche qui consiste à créer une nouvelle copie de votre répertoire de code source. Pour les projets importants, la réplication du code source peut prendre du temps. Néanmoins, c’est une excellente occasion d’expérimenter et de tester des changements dans votre code.

Le modèle de branchement de Git est considéré comme une fonctionnalité phare, ce qui distingue Git des autres outils VCS. Le modèle de fonctionnement de Git est simple et rend les opérations de branchement presque instantanées, ainsi que le passage d’une branche à une autre. Maîtriser le modèle de branchement de Git vous ouvre la porte à des fonctionnalités et des outils puissants pour améliorer vos compétences en développement. Mais pourquoi utiliser des branches ?

Pourquoi avez-vous besoin de branches Git ?

Les branches Git jouent un rôle essentiel dans le système de contrôle de version Git. Voici quelques raisons pour lesquelles vous avez besoin de branches Git :

✅ Développement parallèle : Les logiciels modernes sont complexes et de nombreux développeurs collaborent souvent pour les créer. Les branches permettent à différents développeurs de travailler sur des fonctionnalités distinctes, ou de corriger des bugs, sans interférer avec le travail des autres. Chaque branche est un nouveau chemin de développement. Vous pouvez facilement passer d’une branche à une autre tout en travaillant sur des tâches spécifiques.

✅ Collaboration : Les branches Git facilitent la collaboration entre développeurs sur une base de code commune. Vous pouvez créer des branches, modifier le code et l’envoyer au dépôt partagé, où d’autres développeurs peuvent examiner vos contributions avant de les intégrer dans la branche principale.

✅ Expérimentation : Vous pouvez utiliser les branches Git pour tester de nouvelles fonctionnalités avant de les intégrer à la branche principale. C’est l’occasion d’essayer de nouvelles approches pour résoudre des problèmes. Si les nouvelles méthodes fonctionnent, vous pouvez les intégrer à la branche principale.

✅ Gestion des versions : Vous pouvez utiliser des branches pour gérer les versions de votre logiciel. Chaque branche peut correspondre à une version spécifique de votre projet. Cela vous permet de corriger des bugs et d’effectuer des modifications sans affecter la branche de développement principale.

✅ Contrôle de version : Vous pouvez utiliser les branches Git pour le contrôle de version ; dans ce cas, chaque branche représentera une version distincte de votre logiciel. Il est préférable d’utiliser des branches pour chaque version de logiciel et de suivre les modifications, ce qui vous permet de gérer les différentes versions de la base de code.

Premiers pas avec Git – Un rappel

Maintenant que vous comprenez l’intérêt des branches, il est temps de passer à la pratique.

Dans la suite de cet article, nous supposons que vous avez déjà configuré votre compte GitHub. Si ce n’est pas le cas, faites-le. Cette section est utile comme un rappel.

La commande `git checkout` dans Git permet de basculer entre les différentes versions de votre entité cible. Dans certaines communautés de développeurs, le terme « extraction » désigne l’exécution de cette commande. Cette commande s’applique à trois entités : les branches, les fichiers et les commits.

Vérification d’une branche

Vous pouvez utiliser la commande `git branch` pour créer des branches, et vous y déplacer avec `git checkout`. Lorsque vous extrayez une branche, vous mettez à jour les fichiers de votre répertoire de travail pour qu’ils correspondent à la version qui y est stockée.

En d’autres termes, vous indiquez à Git d’enregistrer tous vos commits dans la branche (en modifiant la ligne de développement). Utiliser des branches dédiées pour les nouvelles fonctionnalités de votre développement est une amélioration par rapport à l’ancien flux de travail Subversion (SVN). Cela facilite le travail avec le code dans tous les cas mentionnés dans la section « Pourquoi avez-vous besoin de branches ».

La commande `git checkout` ne doit pas être confondue avec `git clone`. La première sert à basculer entre les versions de code, tandis que la seconde récupère le code d’un dépôt distant.

Utiliser des branches existantes

Si le dépôt sur lequel vous travaillez contient des branches existantes, vous pouvez les voir en utilisant la commande `git branch` dans votre terminal.

Les branches disponibles s’affichent, et celle sur laquelle vous travaillez est généralement indiquée en vert, si vous utilisez Windows et Visual Studio Code. Pour passer d’une branche à une autre, utilisez `git checkout nom_de_la_branche`. L’expression « nom_de_la_branche » représente le nom de votre branche, et vous pouvez suivre n’importe quelle convention de nommage.

Créer des branches Git

Supposons que vous soyez en plein développement de votre logiciel et que vous souhaitiez ajouter une nouvelle fonctionnalité. La meilleure approche consiste à créer une nouvelle branche en utilisant `git branch`.

Concrètement, vous tapez ceci dans votre terminal :

git branch nom_de_la_branche

Cela signifie que vous avez créé une branche à partir de la branche principale (souvent `main` ou `master`). Le nom de votre nouvelle branche est « nom_de_la_branche ».

Pour basculer vers votre nouvelle branche, utilisez `git checkout` :

git checkout nom_de_la_branche

Si vous êtes un développeur qui aime gagner du temps, vous pouvez créer une branche et y basculer immédiatement en utilisant `git checkout` avec l’argument `-b` suivi du nom de votre branche. Cela donne le même résultat que les deux étapes précédentes :

git checkout -b nom_de_la_branche

L’argument `-b` indique à Git d’exécuter `git branch` juste avant de l’extraire. Explorons d’autres méthodes pour créer des branches Git.

Voyons d’autres techniques que vous pouvez utiliser pour créer des branches en fonction de vos besoins :

#1. Créer une branche à partir de votre branche actuelle

Si vous voulez créer une nouvelle branche à partir de la branche actuelle, le plus simple est d’utiliser la commande suivante :

git checkout -b <nom_de_la_branche>

Cette commande crée et bascule automatiquement vers la nouvelle branche. Pour confirmer que vous êtes sur la nouvelle branche, votre terminal doit afficher un message indiquant que vous êtes passé sur une nouvelle branche nommée « nom_de_la_branche ».

Si vous êtes un nouveau développeur, il est normal de vouloir saisir les commandes dans votre console sans les chevrons (`<>`). Ils sont présents à des fins d’illustration et d’explication, et ne doivent pas être utilisés dans les commandes.

#2. Créer une branche à partir d’une autre branche

Vous pouvez créer une nouvelle branche basée sur une autre branche existante en indiquant le nom de cette branche comme point de départ. Voici la commande :

git branch <nouvelle_branche> <branche_de_base>

Et un exemple concret :

git branch nouvelle-branche nom_de_la_branche

Cela signifie que `nouvelle-branche` est notre nouvelle branche, et `nom_de_la_branche` est notre branche de base.

#3. Créer une branche à partir d’un commit

Si vous souhaitez baser votre nouvelle branche à partir d’un commit (plutôt que d’une branche), vous devez fournir le hash du commit comme point de départ. Pour trouver le hash du commit à partir duquel vous créez la branche, exécutez `git log`.

Le hash de validation est généralement une longue chaîne de caractères commençant par « commit ». Avec le hash de validation, vous pouvez créer la branche en exécutant la commande :

git branch <nom_de_la_branche> <hash_du_commit>

Vous pouvez ensuite basculer vers votre nouvelle branche en l’extrayant.

#4. Créer une branche à partir d’un tag

Pour créer une branche à partir d’une étiquette (tag) spécifique, recherchez le nom de l’étiquette à partir de laquelle vous voulez créer une branche. Exécutez la commande `git tag` pour voir toutes les étiquettes disponibles dans votre dépôt.

Une fois que vous avez identifié le nom de l’étiquette, exécutez `git branch `, puis vous pouvez basculer vers votre nouvelle branche et commencer à modifier le code.

#5. Créer une branche en utilisant l’état HEAD détaché

Vous pouvez utiliser un état HEAD détaché pour créer de nouvelles branches à partir d’un commit spécifique sans basculer immédiatement sur cette branche. Cette technique est utile lorsque vous voulez expérimenter sans affecter la branche sur laquelle vous travaillez. Commencez par trouver le hash de validation à partir duquel vous souhaitez créer la branche – utilisez `git log`.

Avec le hash de validation, exécutez : `git checkout `. Cette commande indique que vous êtes dans un état HEAD détaché, ce qui signifie que vous n’êtes pas sur une branche mais que vous pointez vers un commit spécifique. Ensuite, vous pouvez utiliser `git branch ` pour créer une branche basée sur votre commit actuel.

#6. Créer une branche à partir d’une branche distante

Commencez par créer une branche locale. Vous devriez maintenant être familier avec la commande : `git checkout -b `. La branche distante est créée automatiquement lorsque vous envoyez la branche locale vers le dépôt distant.

Vous envoyez une branche à distance avec : `git push origin `. Dans cette commande, `origin` représente le dépôt distant vers lequel vous envoyez les modifications et où vous créez les branches. Vous pouvez le remplacer par le nom de votre dépôt distant ; cela fonctionne tout aussi bien.

#7. Créer une branche dans un dépôt distant

Pour créer une branche dans un dépôt distant, récupérez les dernières modifications de votre dépôt distant en exécutant la commande `git fetch`. Après avoir obtenu les dernières mises à jour, vous pouvez créer une nouvelle branche en l’extrayant. Ensuite, vous pouvez appliquer les nouvelles modifications en utilisant :

git push -u <dépôt_distant> <nom_de_la_nouvelle_branche>

Dans la pratique, il est préférable d’utiliser `origin` (comme lors de la création d’une branche à partir d’une branche distante). Cela permet de gagner du temps et réduit les risques d’erreur lors de la saisie des noms de vos dépôts distants.

Interface en ligne GitHub

Toutes les tâches effectuées en ligne de commande peuvent également être réalisées via l’interface web de GitHub. Pour créer une nouvelle branche, rendez-vous sur la page de votre dépôt et recherchez l’indication des branches dans le coin supérieur gauche – souvent `master/main`.

Si vous cliquez dessus, une liste de vos branches s’affichera, avec un champ de texte que vous pouvez utiliser pour rechercher ou créer une branche.

Pour créer une branche, saisissez son nom dans le champ de texte. L’interface web est automatisée et permet de créer des branches à partir d’éléments spécifiques tels que les étiquettes, les branches et les commits. Si vous débutez avec la création de branches, consulter la documentation de GitHub sur les branches peut vous éviter des problèmes lors de vos futurs projets de développement.

Derniers mots

Maintenant que vous avez exploré plusieurs méthodes pour créer des branches Git, vous pouvez intégrer ces compétences à votre processus de développement logiciel, en utilisant un flux de travail Git fluide.

La meilleure approche de branchement dépendra fortement de votre équipe, de vos critères de flux de travail et des événements spécifiques. Par exemple, si vous sollicitez l’avis d’un collaborateur, il peut créer des branches à distance et apporter des contributions précieuses.

Vous avez vu comment la création de branches Git offre un mécanisme puissant pour travailler plus efficacement sur des projets logiciels. Bien qu’il existe d’autres options de contrôle Git, cet article vous a montré comment utiliser les branches Git en ligne de commande, et vous devriez maintenant être plus à l’aise avec Git.

Après avoir consolidé votre savoir-faire en matière de création de branches, vous pourriez être intéressé par notre guide sur la suppression des branches GitHub.