Comment puis-je identifier les fichiers / répertoires qui ont été ajoutés ou supprimés dans un git commit?
Question
Je dois écrire un script qui maintient progressivement trace des fichiers et des répertoires ajoutés et supprimés d'un git.
Je l'ai essayé d'utiliser:
git log -n1 --pretty="format:" --name-only
Mais cela ne me dit quels fichiers ont été commis. Elle ne précise pas si elle a été ajouté ou supprimé.
Toutes les idées?
La solution
L'option que vous recherchez est --name-status
. Comme --name-only
il est en fait une option git-diff; git-log accepte ceux pour déterminer comment il va afficher des patches.
git log -n 1 --pretty=oneline --name-status
ou de manière équivalente (moins l'en-tête du journal):
git diff --name-status HEAD^ HEAD
Comme isbadawi souligne, vous pouvez également utiliser-WhatChanged git. Ceci est à peu près git-log avec une sortie diff spécifique:
git whatchanged -n 1
Vous pourriez aimer la version --name-status
mieux, cependant, car il ne montre pas tous les hash blob, seulement les statuts lisibles par l'homme.
Autres conseils