Créer une branche à partir d'une autre branche dans Git
Ce tutoriel enseigne comment créer une branche à partir d’une autre branche dans Git.
Git, un système de contrôle de version distribué, est un outil adapté à la gestion des versions dans un environnement de développement collaboratif. Dans Git, nous créons des référentiels, et dans les référentiels, nous créons des branches pour suivre divers efforts de développement.
Nous créons souvent une nouvelle branche à partir de la ligne principale pour corriger des bogues ou développer une nouvelle fonctionnalité. Une fois la tâche terminée, nous fusionnons généralement cette branche avec la branche principale pour une version.
Git nous offre la possibilité de créer une branche à partir d’une autre branche existante. De plus, nous pouvons fusionner les branches à l’aide des commandes Git.
Utilisez la commande git checkout
pour créer une branche à partir d’une autre branche dans Git
Git, un système de contrôle de version distribué, est un outil utile pour suivre les modifications apportées au référentiel du projet.
Nous avons plusieurs membres d’équipe ou équipes utilisant le même référentiel de projet pour travailler dans un environnement de développement collaboratif. Divers membres de l’équipe ou équipes peuvent créer différentes branches à partir d’une branche existante pour travailler sur cette branche.
Supposons que nous ayons une branche mainline nommée main
dans notre référentiel de projet. Une équipe de correction de bogues créerait une nouvelle branche nommée bugfixes
au-dessus de cette branche. Une autre équipe ou un autre membre de l’équipe créerait une branche feature
pour développer une nouvelle fonctionnalité.
Une fois que l’équipe ou les membres de l’équipe sont satisfaits des modifications apportées à la nouvelle branche, la nouvelle branche est souvent fusionnée dans la branche principale.
Supposons que l’on veuille créer une branche feature
à partir de la branche principale main
pour développer une feature. Nous pouvons utiliser la commande git checkout
pour cela.
La syntaxe pour créer une nouvelle branche de la branche existante est ci-dessous.
git checkout -b <new-branch> <existing-branch>
Dans notre cas, nous allons exécuter la commande comme suit.
$ git checkout -b feature main
Switched to a new branch 'feature'
Ainsi, nous avons créé une nouvelle branche feature
à partir de la branche existante main
. L’option -b
à la commande git checkout
provoque la création de la nouvelle branche. En outre, cela entraîne l’extraction de la nouvelle branche.
Maintenant, nous allons développer la nouvelle fonctionnalité et apporter nos modifications dans la nouvelle branche, à savoir feature
.
Après avoir terminé le développement de la fonctionnalité et validé les modifications apportées à la nouvelle branche feature
, nous aimerions fusionner cette branche avec la branche principale main
.
Nous pouvons utiliser la commande git merge
pour fusionner la branche feature
avec la branche principale main
.
Tout d’abord, nous passerions à la branche principale main
en utilisant la commande git checkout
.
$ git checkout main
Switched to branch 'main'
Nous allons utiliser la commande git merge
pour fusionner la branche feature
avec la branche main
.
Nous exécuterions la commande comme suit.
$ git merge --no-ff feature
Updating ea1b23a..05e9201
(Summary of changes)
L’option --no-ff
de la commande git merge
s’applique toujours à créer un nouvel objet de validation, même si une fusion rapide est effectuée. Cela entraîne la création d’un commit de fusion dans tous les cas, même lorsque la fusion peut être résolue en avance rapide.
C’est utile, car lorsque l’on parcourt l’historique de Git, on verrait des informations sur l’existence de la branche feature
. Elle a aussi pour effet de regrouper tous les commits de la branche feature
.
De plus, lorsque l’on souhaite inverser la fusion de la branche feature
dans la branche main
, c’est plus simple grâce à la présence du commit de fusion.
Dans le cas de la fusion accélérée, aucun commit de fusion n’est créé. Seule la mise à jour du pointeur de branche se produit pour correspondre à la branche fusionnée.
Enfin, nous devons pousser les modifications vers le référentiel distant.
$ git push origin main
$ git push origin feature
Ainsi, nous avons montré comment créer une branche à partir d’une autre branche dans Git.