102 votes

Comment restaurer un répertoire entier à partir de l’historique du dépôt git?

Je voudrais restaurer tout un répertoire (de manière récursive) à partir de l’historique de mon dépôt git.

Il n’y a que 1 branche (master).

Je connais le commit où les erreurs ont été incluses.

Puis-je utiliser le hachage sha1 du commit parent pour restaurer l’état du répertoire tel qu’il était avant l’inclusion des erreurs ?

J’ai pensé à quelque chose comme ceci:

mais cela n’a pas fonctionné.

179voto

Carlos Campderrós Points 6055

essayez d’ajouter '--' entre les révisions et les chemins:

Et si vous souhaitez récupérer un répertoire à partir du commit précédent, vous pouvez remplacer le hachage de commit par HEAD~1, par exemple :

3voto

Daniel Pittman Points 7394

Il existe deux façons simples de le faire :

Si la validation qui incluait les erreurs n’incluait que les erreurs, utilisez cette option `` pour en inverser les effets.

Sinon, le chemin facile est le voici:

  1. ``
  2. ``
  3. ``
  4. ``
  5. ``
  6. ``
  7. ``

1voto

Mark Fisher Points 2575

Si vous le faites `` simplement, cela vous déplacera temporairement vers ce sha-commit.

Chaque objet de validation contient toute la structure du disque à ce moment-là, donc si vous avez des fichiers là-bas et que vous devez les copier, vous pouvez le faire. Attention cependant, vous ne serez dans aucune branche, vous devrez donc revenir à master avant de copier le fichier dans votre arborescence de travail et de le valider.

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