Git : comment lister l'ensemble des fichiers contenus dans un commit
Une commande Git permet de lister l'ensemble des fichiers contenus dans un commit. Voici comment l'utiliser.
Il est possible avec git de connaître la liste des fichiers modifiés lors de chaque commit. La commande git show le fait mais elle liste également d'autres informations. Pour n'obtenir que la liste des fichiers, il faut utiliser soit des paramètres supplémentaires, soit une autre commande (A lire aussi : Comment annuler un commit Git ?).
La commande git show affiche par défaut de nombreuses informations à propos du commit. Il est possible d'épurer le texte pour n'obtenir que la liste des fichiers. L'option --pretty précise un format pour le texte d'introduction du commit. Si l'on précise une chaîne vide, alors le texte n'est pas affiché. Dans la liste des fichiers, il faut ajouter l'option --name-only pour que seuls les noms soient visibles. Il faut bien entendu préciser en argument l'identifiant du commit.
git show --pretty= --name-only identifiantdemoncommit
Cette commande est une commande porcelaine : elle est conçue pour être manipulée directement par l'utilisateur en ligne de commande.
Une autre possibilité est la commande get diff-tree. Elle compare le contenu de deux commits. Si l'on ne précise qu'un seul commit, alors ce commit sera comparé avec son parent. Comme pour la commande git-show, l'option --name-only ne laisse que les noms de fichier. Pour enlever l'identifiant du commit situé dans le rendu de la commande, ajoutez l'option --no-commit-id. N'oubliez pas d'inclure l'option -r pour rechercher récursivement dans les sous-répertoires.
git diff-tree --no-commit-id --name-only -r identifiantdemoncommit
Cette commande est une commande plomberie : elle est conçue pour être utilisée dans un script.
Il est également possible d'afficher la liste des fichiers grâce à gitk, l'interface graphique fournit avec Git. Pour lancer l'interface graphique, saisissez la commande gitk dans le terminal et appuyez sur la touche Entrée.