99 votes

Comment puis-je consulter une version particulière d'un fichier dans Git?

Comment puis-je vérifier une version particulière d'un fichier dans git?

J'ai trouvé ce mail sur la liste de diffusion, qui disait:

$ git checkout HEAD~43 Makefile
$ git reset Makefile

Mais je ne comprends pas comment trouver 'HEAD~43', si je fais un git log aFile, comment puis-je trouver le 'HEAD~43' que je devrais utiliser?

Et pourquoi ai-je besoin d'exécuter git reset pour ce fichier? Que fait-il?

118voto

Vous savez à quel commit (c'est-à-dire la révision spécifique) le fichier appartient ? Ensuite, faites :

git checkout  

L'autre commande :

git checkout HEAD~N 

Est utilisée lorsque vous voulez obtenir une version antérieure du fichier à partir d'une certaine distance en arrière (ce que je fais par nostalgie).

20voto

dhill Points 997

HEAD~43 est juste un arbre, vous pouvez donc utiliser un hash ou une balise. Vous devez séparer l'arbre du nom de fichier avec --, sinon il est traité comme un nom de fichier. Par exemple.

git checkout v0.45 -- nomdufichier
git checkout HEAD^ -- nomdufichier
git checkout 16bb1a4eeaa9 -- nomdufichier

2voto

Jim Puls Points 29289

HEAD~43 fait référence au commit (version) du fichier. Au lieu de cela, vous pouvez utiliser le hash du commit que vous obtenez en faisant git log sur le fichier. Si vous voulez simplement le fichier, vous n'avez pas besoin d'exécuter git reset dessus ; c'est seulement nécessaire si vous voulez avancer le fichier vers le HEAD actuel.

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