2010-11-20 6 views

Répondre

108

Depuis git est un VCS distribué, votre référentiel local contient toutes les informations. Aucun téléchargement n'est nécessaire vous avez juste besoin d'extraire le contenu que vous voulez du repo au bout de vos doigts.

Si vous n'avez pas commis la suppression, il suffit de consulter les fichiers de votre livraison en cours:

git checkout HEAD <path> 

Si vous avez commis la suppression, vous devez vérifier les fichiers d'un engagement qui les a . On peut supposer que ce serait la précédente livraison:

git checkout HEAD^ <path> 

mais si elle est n commet il y a, utilisez HEAD~n, ou tout simplement feu vers le haut gitk, trouver le SHA1 du commit approprié, et le coller dans

+1

juste comme un commentaire de côté, cela fonctionne également pour un répertoire complet, ce n'est pas spécial ou spécifique à un seul fichier (cela a fonctionné quand je l'ai essayé au moins). Thnx btw. –

+0

N.B. le '' est obligatoire, même si juste un point '.' pour le répertoire actuel. Mais la "branche" ("HEAD" dans l'exemple ci-dessus) est facultative. Comme avec tant de commandes Git, ni la sortie ni l'aide ne sont utiles. – MarkHu

2

Vous devez vérifier une version précédente d'avant que vous avez supprimé les fichiers. Essayez git checkout HEAD^ pour vérifier la dernière révision.

23

git checkout filename

git reset --hard pourrait faire l'affaire aussi bien

+5

avertissement en utilisant la méthode 'git reset --hard' car cela ramènera tout l'arbre à l'emplacement w/e que vous avez placé HEAD/HEAD ^/HEAD ~ n et il le fera sans préjugé et potentiellement perdre un beaucoup de commits ... – g19fanatic

+0

git reset --hard travaillant pour moi, merci garçon :) –

+0

git checkout filename était la réponse pour moi :) – Ruub

12

Si vous. ont supprimé plusieurs fichiers localement, mais pas commis, vous pouvez forcer la caisse

$ git checkout -f HEAD 
+0

Comme nous le voyons dans la sortie "Déjà à jour", la personne posant cette question n'a rien commis dernièrement. Si vous spécifiez peut-être que git checkout -f HEAD est DANGEREUX? Comme cela peut annuler les modifications locales qui n'ont pas été validées (la restauration des fichiers précédents étant le résultat positif, la perte des modifications sur les fichiers modifiés est négative). –

0

, ajouter également faire les étapes suivantes afin que le git serait correctement lié à l'IDE:

$ git reset <commit #> 

$ git checkout <file/path> 

J'espère que cela a été utile !!

0

Si vous avez supprimé plusieurs fichiers localement et n'avez pas validé les modifications, accédez à votre chemin d'accès au référentiel local, ouvrez le shell git et tapez.

$ git checkout HEAD . 

Tous les fichiers supprimés avant la dernière validation seront récupérés.

Ajout de "." va récupérer tous les fichiers supprimés dans le référentiel actuel, à leurs chemins respectifs.

Pour plus de détails, consultez le documentation.

Questions connexes