2015-08-18 1 views
1

Je veux obtenir tous les fichiers qui ont déjà été supprimés, et les copier dans un autre répertoire X.Git: Comment copier tous les fichiers supprimés dans un répertoire?

J'ai obtenu une liste de tous les fichiers supprimés en faisant git log --all --pretty=format:" " --name-only | sort -u, mais c'était aussi loin que je pouvais gérer.

Note:

  • Je ne veux pas apporter de modifications à la copie de travail. Je veux récupérer les fichiers supprimés dans un répertoire X, X est à un endroit complètement différent de mon repo.
  • Les fichiers que je souhaite restaurer ont été validés, supprimés et la suppression a été validée. Donc git les a sauvegardés.
  • Si cela aide, j'essaie de trouver une image que j'ai une fois ajouté. Je n'ai ni le nom du fichier, ni le commit dans lequel j'ai ajouté/supprimé. Donc, mon plan est de restaurer tous les fichiers supprimés dans un répertoire différent, puis de parcourir les images manuellement (~ 50 d'entre eux).
  • Je suis un débutant, en utilisant Git sur windows.

Merci :)

Répondre

0

Pour rechercher des fichiers supprimés: git log --diff-filter=D --summary. Parse sortie de cela pour saisir commitId et le nom de fichier, puis obtenir cette version du fichier de commitId^ et copiez dans dir (git show hash^:fileName >copyOfFileName) et le fichier nommé copyOfFileName aura votre contenu de fichier. Utilisez le chemin complet de votre fichier fileName dans le journal git.

+0

Je suis content que vous ayez répondu. Le problème est, je sais déjà quoi faire, mais je ne sais pas comment le faire. Je vous serais reconnaissant si vous pouviez me donner les commandes aussi. –

+0

Les commandes sont là dans la réponse. Avez-vous même essayé de les taper (git log --diff-filter = D --summary et git show hash ^: nomfichier)? – DavidN

+0

C'est ce que j'ai essayé: (trop long pour poster ici http://markdownshare.com/view/795d4e3a-4849-4761-86b5-becf21a32778) Je m'excuse si je vous ai mal compris. Pourriez-vous s'il vous plaît me donner plus de détails? –