La fusion des branches dans Git peut parfois être une tâche intimidante, mais la commande git merge
simplifie considérablement le processus. Dans ce tutoriel, vous apprendrez les bases de la combinaison des branches en utilisant git merge
, associé à GitHub, un outil de gestion de projet de premier plan.
Commençons ce voyage dans le monde de Git et GitHub, en nous concentrant sur la puissante commande git merge
.
Prérequis pour maîtriser Git Merge
Avant de plonger dans les subtilités de git merge
, assurez-vous d’avoir la configuration suivante :
- Git (Version 2.25.1 utilisée dans ce tutoriel) – Téléchargez à partir du site officiel de Git.
- A GitHub account – Sign up at GitHub.
- Une machine Ubuntu (Ubuntu 20.04 est utilisé ici, mais tout système d’exploitation avec Git suffira).
Initialisation d’un projet pour Git Merge
Pour utiliser efficacement git merge
, vous avez d’abord besoin d’un projet Git. Configurons un projet de démonstration pour la pratique.
1. Commencez par créer un nouveau répertoire nommé ~/git-demo et naviguez-y :
2. Créez un fichier index.html dans le répertoire ~/git-demo avec le contenu suivant. Ce fichier HTML de base affiche un message sur le démarrage avec git merge
.
3. Initialisez un nouveau dépôt Git dans votre répertoire de projet :
Le
git init
commande est utilisée pour convertir un projet existant non versionné en un dépôt Git ou pour démarrer un nouveau projet avec Git.

4. Confirmez la création du dossier .git dans votre répertoire de projet. C’est là que Git suit les modifications :

5. Mettez en œuvre la commande git add
pour mettre en scène vos modifications dans le projet. En mettant en scène le fichier index.html, vous le préparez pour le prochain commit dans le flux de travail Git.
6. Utilisez git status
pour confirmer que votre fichier est correctement mis en scène. Cette commande fournit un instantané de l’état actuel de votre répertoire de travail.

7. Ensuite, validez vos modifications en utilisant git commit
. Cette commande enregistre vos modifications mises en scène dans le dépôt local, marquant une étape importante dans votre historique des versions.

Définissez votre identité Git avec :
git config --global user.email "[email protected]"
etgit config --global user.name "Votre Nom"
si vous utilisez Git pour la première fois.
8. Passez en revue votre historique de commits avec git log
. Cette commande vous aide à suivre les modifications et est vitale lorsque vous vous préparez à une git merge
.

9. Confirmez l’existence de branches dans votre dépôt avec git branch
. Cette étape est cruciale avant d’effectuer un git merge
.
Note : La branche par défaut est nommée ‘main’ dans les versions récentes de Git, remplaçant ‘master’.

Créer une branche pour Git Merge
Avec votre configuration initiale de Git terminée et le premier commit effectué, il est temps de créer une nouvelle branche. Cette branche sera utilisée pour démontrer efficacement le processus de fusion avec git merge
.
1. Mettez à jour le fichier index.html avec un nouveau contenu pour démontrer les changements dans votre branche. Cette version inclut des champs de saisie utilisateur, se préparant à une démonstration de git merge
.
2. Vérifiez l’état de votre dépôt avec git status
pour voir les modifications dans index.html. Il devrait indiquer que le fichier est modifié et non mis en scène, prêt pour les prochaines étapes dans le processus de git merge
.

3. Créez une nouvelle branche nommée « form » avec git checkout -b form
. Cette commande crée non seulement la nouvelle branche, mais bascule également votre branche de travail sur « form », essentiel pour mettre en œuvre git merge
.

4. Confirmez la création de la nouvelle branche en exécutant git branch
. Vous devriez maintenant voir les branches « form » et « master », avec « form » comme branche active indiquée par un astérisque (*).

5. Mettez en scène et commitez vos modifications sur la branche form. Cette action garantit que la branche form reflète les mises à jour récentes apportées au fichier index.html, préparant le terrain pour un git merge
efficace.

Fusion de branches locales avec Git Merge
Maintenant que vous avez des branches distinctes dans votre dépôt GitHub, la prochaine étape consiste à les fusionner. Cette section porte sur la fusion des branches localement en utilisant la commande git merge
, une opération Git fondamentale.
1. Pour commencer la fusion, passez à la branche master
, qui recevra les mises à jour de la branche form
:
2. Une fois sur la branche master
, exécutez git merge form
pour combiner les modifications de la branche form
dans master
. C’est une étape cruciale dans le processus de git merge
.

git merge
.3. Confirmez la fusion en vous assurant d’être sur la branche master
et en vérifiant que le contenu de index.html a été mis à jour.

git merge
.Optimisation avec Git Squash
Le squashing en Git est une technique utilisée pour nettoyer l’historique des commits. Lorsque vous avez plusieurs messages de commit qui ne sont pas nécessaires individuellement, le squashing vous permet de les combiner en un seul commit complet. Cette pratique est particulièrement utile lors de la préparation d’une git merge
.
Explorons le processus de squashing en apportant d’autres modifications au fichier index.html sur la branche form
, puis en écrasant ces modifications.
1. Revenez à la branche form
pour apporter des modifications supplémentaires :
2. Modifiez le fichier index.html en ajoutant un en-tête de formulaire. Cette étape créera une modification que nous écraserons plus tard lors de la fusion :
3. Mettez en scène et validez les modifications avec un message clair décrivant la mise à jour :

git merge
.4. Améliorez le fichier index.html dans la branche form
en ajoutant un nouveau champ d’entrée. Cette modification fait partie de la préparation pour une fusion efficace avec git merge
.
5. Mettez en scène et validez ces modifications avec un message distinct, en veillant à ce que chaque étape de votre travail soit clairement documentée pour la prochaine fusion avec git merge
.

git merge
.6. Ensuite, insérez un élément de paragraphe sous le formulaire dans index.html, modifiant davantage le fichier en préparation pour une fusion avec git merge
.
7. Encore une fois, mettez en scène et validez les modifications, en utilisant un message qui capture l’essence de cette mise à jour, essentielle pour le processus de fusion avec git merge
.

git merge
.8. Utilisez git rebase
en mode interactif pour visualiser et modifier vos commits récents. Cette étape est essentielle dans le processus d’écrasement des commits pour une fusion propre avec git merge
.
9. En mode interactif, choisissez de reword
le premier commit et squash
les suivants. Cette action consolide l’historique de vos commits, rendant votre fusion avec git merge
plus propre et plus organisée.

git merge
.10. Après avoir reformulé et sauvegardé, mettez à jour le message de commit consolidé pour refléter les changements cumulatifs. Cette étape finalise le processus d’écrasement, vous préparant ainsi à une fusion avec git merge
simplifiée.

git merge
.Confirmez le succès de votre opération d’écrasement, qui est une partie intégrante du processus de fusion git merge
lors de la gestion de plusieurs messages de commit.

git squash
operation.Pour un écrasement et une fusion simultanés, utilisez git merge --squash
. Cette technique fusionne et écrase la branche form dans la branche master, combinant efficacement les commits.
L’exécution de la commande git merge --squash
combine les modifications de la branche form
dans master
tout en condensant tous les commits en un seul. Cette approche fait partie des stratégies efficaces de fusion git
.

git merge
with squash option.Mise en œuvre du Fast-Forward dans Git Merge
Pour un historique de commit rationalisé, le fast-forward est une méthode idéale, notamment pour les mises à jour mineures ou les corrections de bogues. Il vous permet de fusionner des branches sans commits de fusion supplémentaires, maintenant un historique propre et linéaire, crucial pour des processus de fusion git
efficaces.
Le fast-forward se produit lorsqu’il n’y a pas de divergence dans la branche de base, généralement la branche master
, permettant une intégration fluide des historiques et des mises à jour des pointeurs.
1. Passez à la branche form
pour commencer le processus de fast-forward:
2. Créez et mettez à jour un fichier JavaScript, tel que index.js, dans la branche form
, en mettant en scène et en validant les modifications:
3. Enfin, fusionnez la branche form
dans master
en utilisant une approche fast-forward. Cette étape aligne la branche master
avec les dernières modifications de la branche form
, créant un chemin de fusion git
fluide et linéaire.

Conclusion
Ce tutoriel vous a guidé à travers différentes techniques pour combiner des branches en utilisant git merge
. Du regroupement des commits à l’avancement rapide, ces méthodes améliorent votre capacité à gérer des projets de manière collaborative dans Git.
Maintenant équipé de ces compétences, envisagez de contribuer à des projets collaboratifs sur GitHub, en appliquant vos connaissances de git merge
dans des scénarios réels.