Branches en Git

Introduction aux Branches

Dans Git, une branche représente une version indépendante du code principal. Les branches permettent d'apporter des modifications ou d'ajouter de nouvelles fonctionnalités à un projet sans impacter le code principal, souvent nommé la branche principale. Les branches sont un élément essentiel du développement logiciel avec Git, car elles créent une copie de la branche source. Toutes les modifications apportées dans cette nouvelle branche seront isolées de la branche principale. Une fois que les changements sont finalisés, ils peuvent être fusionnés avec le code principal. Cette approche simplifie également le processus de test de code ou d'annulation de modifications, puisqu'une branche peut être supprimée sans affecter le code principal ou d'autres branches.

Création d'une Branche

Pour créer une nouvelle branche dans Git, utilisez la commande suivante :

git branch 

En exécutant cette commande depuis <branche-actuelle>, vous créerez une nouvelle branche appelée <nom-branche> basée sur le code actuel de <branche-actuelle>.

Renommer une Branche

Pour renommer une branche locale dans Git, adoptez la syntaxe suivante :

git branch -m  

Le paramètre -m est une abréviation pour --move. Cela peut se comprendre comme un changement de nom en "déplacement" d'une branche à une autre.

Suppression d'une Branche

Pour supprimer une branche dans Git, utilisez la commande suivante :

git branch -d 

Cette commande supprimera la branche si celle-ci n'a pas de code non validé. Autrement, vous ne pourrez plus accéder à cette branche et les modifications y seront perdues. Si Git refuse de حذف une branche à cause de modifications non fusionnées, vous pouvez forcer la suppression avec :

Option 1 :

git branch -d --force ma-branche

Option 2 :

git branch -D ma-branche

Utiliser la suppression forcée signifie que vous acceptez la perte de toutes les modifications de cette branche et que vous souhaitez continuer avec la suppression.

Changer de Branche

Pour naviguer entre différentes branches dans Git, la commande suivante est utilisée :

git checkout 

Cela changera la branche active vers celle nommée nom-branche. Toute modification effectuée désormais se fera sur la copie du code au sein de nom-branche. Il est courant d'utiliser cette commande immédiatement après la création d'une nouvelle branche, et une version abrégée pour créer et immédiatement switcher à une nouvelle branche est :

git checkout -b nom-branche

Ceci peut être équivalent à exécuter ces commandes l'une après l'autre :

git branch nom-branche
git checkout nom-branche

Fusion des Branches

Pour effectuer une fusion de code d'une branche vers une autre dans Git, la syntaxe suivante est employée :

git merge 

Ceci fusionnera le code de nom-branche dans la branche actuellement active.

Exemple Pratique

Lorsqu'un développeur travaille sur une fonctionnalité spécifique, il a souvent besoin de créer une branche à partir de la branche principale pour y réfléchir. Une fois qu'il est satisfait de la fonctionnalité et prêt à l'ajouter à la branche principale, il fusionne simplement la branche de fonctionnalité avec la branche principale. La séquence de commandes suivante illustre ce processus :

git checkout main                     # Assurez-vous d’être sur la branche principale
git branch ma-fonctionnalite          # Créez la nouvelle branche
git checkout ma-fonctionnalite        # Changez pour la nouvelle branche

# Lorsque le code est prêt et validé :
git checkout main                     # Retour à la branche principale
git merge ma-fonctionnalite           # Fusionnez la fonctionnalité dans la branche principale
git branch -d ma-fonctionnalite       # Supprimez la branche désormais fusionnée