2017-10-09 1 views
0

J'ai besoin d'exclure le fichier supprimé dans git log. J'utilise la commande git log -1 --name-only --pretty=format:eee6ce6 pour obtenir le nom de fichier modifié dans le dernier commit. J'utilise pre-receive crochet pour bloquer le type de fichier spécifique en cours de validation. La commande ci-dessus répertorie tous les fichiers qui ont été modifiés.Comment exclure le fichier supprimé dans la commande git log?

Mais je veux permettre à l'utilisateur de supprimer les types de fichiers spécifiques. Comment puis-je faire ceci?

  • J'ai également essayé cette commande git log -1 --name-only --pretty=format:eee6ce6-filter=d, mais aussi le fichier supprimé.
  • Cette git log -1 --diff-filter=d --name-only fonctionne parfaitement. Mais le il donne commit ID, author name, date aussi. Je veux seulement le nom de fichier.

Répondre

2

Vous pouvez obtenir les noms des fichiers supprimés dans la dernière livraison à l'aide git diff:

git diff --name-only --diff-filter=D HEAD~1 
+0

ici ce 'HEAD ^' représentent? si ID de validation? – Parkavi

+0

'HEAD ^' signifie la validation avant 'HEAD'. Donc, vous obtenez la différence entre cela et 'HEAD', en d'autres termes les changements dans le dernier commit. Btw j'ai remplacé 'HEAD ^' par 'HEAD ~ 1', cela signifie exactement la même chose, mais c'est plus portable (' HEAD^'ne fonctionne pas sous DOS). – janos

+0

Merci, beaucoup, ça marche exactement je veux ... :-) – Parkavi