📘 Chapitre – Résolution de conflits et historique collaboratif
1. 🎯 Objectif pédagogique
Savoir identifier et résoudre les conflits Git lors des fusions ou pulls, et maintenir un historique de commits clair pour faciliter la collaboration en équipe.
2. 📚 Concepts abordés
- Qu’est-ce qu’un conflit Git et comment le détecter ?
- Résolution manuelle des conflits dans les fichiers
- Commandes utiles :
git status
,git diff
,git merge --abort
- Nettoyage de l’historique avec
git log --oneline
etgit rebase
- Bonnes pratiques de messages de commit
3. 🧠 Explication théorique
Un conflit Git survient lorsque deux personnes modifient la même ligne d’un fichier sur des branches différentes. Lors d’un git merge
ou git pull
, Git marque le fichier avec des balises spéciales :
<<<<<<< HEAD
Votre version locale
=======
La version distante
>>>>>>> branche
Il faut choisir la version correcte (ou les fusionner manuellement), puis :
git add fichier_conflit
git commit
Historique collaboratif
Pour garder un historique lisible :
- Faire des commits clairs (ex.
feat: ajout formulaire contact
). - Utiliser
git log --oneline --graph --decorate
pour visualiser l’historique. - Faire des pull requests pour valider les modifications avant la fusion.
4. 🛠 Tutoriel pratique
Résumé du travail : Simuler un conflit Git et le résoudre.
Étape 1 : Créer deux branches
git checkout -b feature-A
Modifier index.html
et faire un commit :
echo "Version A" >> index.html
git add index.html
git commit -m "Ajout version A"
Revenir sur main
et modifier la même ligne, puis commiter :
echo "Version principale" >> index.html
git add index.html
git commit -m "Ajout version principale"
Étape 2 : Fusionner pour générer un conflit
git merge feature-A
Git indiquera un conflit.
Étape 3 : Résoudre le conflit
- Ouvrir
index.html
. - Garder ou fusionner la bonne version.
- Valider :
git add index.html
git commit -m "Résolution de conflit entre main et feature-A"
Étape 4 : Visualiser l’historique
git log --oneline --graph --decorate
Étape 5 : Bonnes pratiques
- Toujours
git pull
avant de commencer à travailler. - Utiliser des messages clairs (convention :
fix:
,feat:
,chore:
). - Travailler par petits commits pour éviter les conflits massifs.
5. 🧾 Résumé et points-clés
- Les conflits Git sont normaux lors du travail collaboratif.
- Résoudre un conflit consiste à éditer le fichier et choisir la version correcte.
- Utiliser
git status
pour voir les fichiers en conflit. - Maintenir un historique clair facilite la compréhension et la relecture du projet.