🐙 Historique Git
L’historique GitGit
Système de contrôle de version distribué pour suivre les modifications du code source. est un outil puissant qui permet de visualiser et d’analyser l’historique des modifications d’un projet. Voici les principales fonctionnalités et commandes pour explorer l’historique Git.
🐙 Afficher l’historique
🐙 Commande de base
git logCette commande affiche l’historique complet des commits avec leurs auteurs, dates et messages.
🐙 Affichage condensé
git log --onelineAffiche chaque commitcommit
Instantané enregistré des modifications dans un dépôt Git. sur une seule ligne avec son ID court et son message.
🐙 Visualisation graphique
git log --graph --oneline --allAffiche l’historique sous forme d’arbre avec les branches et les fusions.
🐙 Filtrer l’historique
🐙 Par date
git log --since="2023-01-01" --until="2023-12-31"🐙 Par auteur
git log --author="nom@email.com"🐙 Par fichier
git log -- chemin/vers/fichier.txt🐙 Examiner les modifications
🐙 Voir les différences d’un commit
git show <commit-id>🐙 Comparer deux commits
git diff commit1..commit2🧪 Bonnes pratiques
-
Messages de commit clairs : Écrire des messages descriptifs qui expliquent le “pourquoi” des modifications
-
Commits atomiques : Faire des commits qui regroupent des modifications logiquement liées
-
Branches organisées : Utiliser une stratégie de branches cohérente (ex: GitFlow)
🚀 Commandes avancées
📇 Rechercher dans l’historique
git log --grep="mot-clé"🐙 Voir qui a modifié une ligne
git blame fichier.txt🐙 Restaurer une version antérieure
git checkout <commit-id> -- fichier.txt🧪 Exemples pratiques
🐙 Trouver un bug avec git bisect
git bisect start
git bisect bad HEAD
git bisect good <commit-ancien>
# Git vous aide à trouver le commit qui a introduit le bug
git bisect reset🐙 Nettoyer l’historique avec rebase
git rebase -i HEAD~3
# Permet de réorganiser, fusionner ou modifier les 3 derniers commitsCes commandes et concepts vous permettront de maîtriser l’historique de vos projets Git et d’en tirer le meilleur parti pour le développement et la maintenance de vos applications.