git log

Définition
La commande git log affiche les instantanés validés. Elle est utilisée pour lister et filtrer l'historique du projet, ainsi que pour rechercher des modifications spécifiques. Contrairement à git status qui contrôle le répertoire de travail et la zone de staging, git log ne fonctionne que sur l'historique déjà validé.
Utilisation
La commande git log est un outil utilisé pour examiner l'historique d'un dépôt et trouver une version spécifique d'un projet. La sortie du journal peut être personnalisée de différentes manières, allant du filtrage des commits à leur affichage dans un format entièrement défini par l'utilisateur. Voici la liste des configurations les plus couramment utilisées pour git log :
| git log | Description |
|---|---|
| git log | Format par défaut, affiche tout l'historique des commits. Utilise la barre d'espace pour défiler et q pour quitter si la sortie du journal occupe plusieurs écrans. |
git log -n <limit> | Limite le nombre de commits. Par exemple, git log -n 2 n'affiche que 2 commits. |
| git log --oneline | Affiche chaque commit sur une seule ligne, ce qui est utile pour une vue d'ensemble de l'historique du projet. |
| git log --stat | Inclut les fichiers modifiés ainsi que le nombre de lignes ajoutées ou supprimées, en plus des informations de git log. |
| git log -p | Affiche le correctif pour chaque commit ainsi que leur diff complet. |
git log --author="<pattern>" | Recherche les commits par un auteur spécifié. L'argument <pattern> peut être une chaîne de caractères ou une expression régulière. |
git log --grep="<pattern>" | Recherche les commits par message de commit. L'argument <pattern> peut être une chaîne de caractères ou une expression régulière. |
git log <since>..<until> | Affiche uniquement les commits situés entre les arguments <since> et <until>. Chacun peut être un ID de commit, un nom de branche, HEAD ou tout autre type de référence de révision. |
git log <file> | Affiche les commits qui incluent le fichier spécifié. Cela facilite la visualisation de l'historique du fichier. |
| git log --graph --decorate --oneline | Le drapeau --graph dessine un graphique textuel des commits à gauche des messages de commit. Le drapeau --decorate ajoute les noms des branches ou des tags des commits affichés. Le drapeau --oneline affiche les informations du commit sur une seule ligne, facilitant ainsi la navigation rapide dans les commits. |
git log --since=<date> | Affiche les commits plus récents qu'une date spécifique. |
git log --until=<date> | Affiche les commits plus anciens qu'une date spécifique. |
| git log --all | Affiche les commits de toutes les branches du dépôt. |
Explication
Toutes les options mentionnées ci-dessus peuvent être combinées dans la commande suivante :
git log
git log --author="Bob Smith" -p w3docs.txtL'exemple ci-dessus affichera le diff complet de toutes les modifications que l'auteur a apportées au fichier w3docs.txt.
La syntaxe .. est utilisée pour comparer des branches :
git log
git log --oneline master..some-featureCet exemple présente un bref aperçu de tous les commits présents dans some-feature plutôt que dans master.
Pratique
Quelles sont les fonctionnalités et les options de la commande 'git log' ?