1287 votes

Trouver quand un fichier a été supprimé dans Git

J'ai un dépôt git avec n engage.

J'ai un fichier que j'ai besoin, et que l'habitude d'être dans le référentiel, et que soudain j'ai chercher et penser "Oh! Où avez ce fichier?"

Est-il une (série de) commande git(s) qui va me dire que "fichier really_needed.txt a été supprimé à commettre des n-13"?

Dans otherwords, sans regarder à chaque individu de s'engager, et sachant que mon repo Git a chaque modification de chaque fichier, puis-je trouver rapidement le dernier commit qui A fichier, je peux le récupérer?

1422voto

vogella Points 4884

git log -- [file path] montre les changements d'un fichier, fonctionne même si le fichier a été supprimé.

 git log -1 -- [file path]
 

Voir Quel commit a supprimé un fichier

89voto

daniel Points 5467

Git log mais vous devez préfixer le chemin avec --

Par exemple:

 dan-mac:test dani$ git log file1.txt
fatal: ambiguous argument 'file1.txt': unknown revision or path not in the working tree.

dan-mac:test dani$ git log -- file1.txt
 commit 0f7c4e1c36e0b39225d10b26f3dea40ad128b976
 Author: Daniel Palacio <danpal@gmail.com>
 Date:   Tue Jul 26 23:32:20 2011 -0500

 foo
 

36voto

estani Points 1167

Je viens d'ajouter une solution ici (y a-t-il un moyen de lister tous les fichiers supprimés dans le dépôt?) Pour trouver les validations des fichiers supprimés en utilisant une expression rationnelle:

 git log --diff-filter=D --summary | sed -n '/^commit/h;/\/some_dir\//{G;s/\ncommit \(.*\)/ \1/gp}'
 

Cela retourne tout supprimé dans un répertoire nommé some_dir (cascade). Tout sed regexp là où \/some_dir\/ fera l'affaire.

3voto

Greg Hewgill Points 356191

La commande git log avec le nom de fichier en question vous le dira. La première entrée de journal répertoriée sera la plus récente validation qui contient ce fichier.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X