git show

Inspection et comparaison

Afficher un commit, un tag ou un fichier dans une version donnée


La commande 'git show' affiche un objet. Pour un commit, elle imprime l’auteur, la date et le message, puis le diff introduit par ce commit. Pour un tag annoté, elle montre le message du tag, puis le commit. Avec <commit>:<path>, elle imprime un fichier exactement tel qu’il était dans ce commit.

Synopsis

git show [<options>] [<object>...]
[ ] facultatif| ou<arg> valeur à remplacer... répétable--flag option

Options

Cliquez sur une option pour la déplier

Débutant (2)

Afficher un résumé des fichiers modifiés au lieu du diff complet.

RecommandéVérifier rapidement la taille d’un commit avant de le lire

Exemple

git show --stat

Imprimer l’en-tête sur une ligne : hash court et sujet.

Si nécessaireEn-tête compact quand seul le diff vous intéresse

Exemple

git show --oneline

Choisir la bonne option

show, log et diff

Trois façons de regarder l’historique

CommandeMontre
git logUne liste de commits
git show <commit>Un commit et ses modifications
git diff A BLa différence entre deux versions quelconques

Exemples

Dernier commit

git show

Affiche HEAD avec son diff.


N’importe quel commit

git show a1b2c3d

Affiche ce commit.


Un fichier dans un ancien commit

git show HEAD~2:app.js

Imprime app.js tel qu’il était deux commits plus tôt.


Résumé seulement

git show --stat

Les fichiers modifiés au lieu du diff complet.

Exemples de workflows

1
git log --oneline

La trouver

2
git show --stat a1b2c3d

Quels fichiers il a touchés

3
git show a1b2c3d

La modification complète

Dépannage

fatal: path 'x' does not exist in 'HEAD~1'

Cause : Le fichier n’existait pas dans ce commit, ou le chemin est faux

Utilisez le chemin depuis la racine du dépôt ; vérifiez avec git show --stat

Un commit de fusion n’affiche aucun diff

Cause : Les fusions n’affichent un diff combiné que pour les lignes en conflit

Utilisez git show -m ou git diff <merge>^1 <merge>

Astuces et pièges

Bonnes pratiques

  • ✓Sur les gros commits, commencez par --stat.
  • ✓Utilisez commit:path pour lire une ancienne version sans modifier vos fichiers.

Erreurs fréquentes

  • ✗Écrire git show HEAD~1 app.js (un filtre) alors que vous vouliez HEAD~1:app.js (le contenu du fichier).
  • ✗Utiliser un chemin relatif à votre dossier sans ./ dans commit:path — les chemins partent de la racine du dépôt.

FAQ

A:

git show <commit>.

A:

Pour la lire : git show <commit>:<path>. Pour la restaurer : git restore --source=<commit> <path>.