Comment revenir à la dernière validation dans l'histoire après avoir utilisé git reset pour aller à un plus changeset?

StackOverflow https://stackoverflow.com/questions/2540505

  •  23-09-2019
  •  | 
  •  

Question

Supposons que mon histoire va de cette façon:

A - B - C - D (maître)

Si je fais git reset B, je suis arrivé:

A - B (maître)

Le problème est, git log maintenant me montrer que l'histoire de A à B, et je ne peux pas voir C et D plus.

Comment puis-je revenir à D?

Était-ce utile?

La solution

Vous devriez pouvoir voir D avec git reflog .

Voir cette par exemple .

  

La seule fois commits sont supprimés est en fait si vous git gc --prune (donc faîtes attention à celui-là!).

     

Si vous exécutez reflog git en ce moment dans un dépôt que vous avez travaillé, vous verrez beaucoup de changements qui ressemblent à ceci:

c5c3a82... HEAD@{0}: pull origin featureB: Merge made by recursive.
49d0608... HEAD@{1}: reset --hard HEAD^: updating HEAD
3ed01b1... HEAD@{2}: pull origin featureA: Merge made by recursive.
49d0608... HEAD@{3}: pull origin bugfixJ: Merge made by recursive.
854d44e... HEAD@{4}: commit: Add more cowbell to foo.c
6dbc22d... HEAD@{5}: pull origin bugfixI: Merge made by recursive.
9bdb763... HEAD@{6}: commit: Remove weevils
8518f9d... HEAD@{7}: checkout: moving from wickedfeature to master
  

Ces lignes peuvent être répartis en 4 parties:

     
      
  • commit hachage,
  •   
  • pointeur commit,
  •   
  • action
  •   
  • et informations supplémentaires.
  •   
     

Si nous voulions récupérer le commettras qui a été perdu à HEAD@{1}, nous pouvions git reset --hard HEAD@{2}.
  Maintenant, notre branche courante (et copie de travail) sont mis à l'état référentiel avant nous la remise à zéro.

     

Si nous voulions voir exactement ce que cet état était, nous pourrions git checkout -b temp HEAD@{2} (ou git checkout HEAD@{2} si vous avez git 1.5.0 et plus).

Autres conseils

Ok, trouvé.

Vous pouvez utiliser git reflog.

Je ne savais pas ce qu'elle était, mais maintenant, je peux le voir est un journal de toutes les références HEAD ont été pointant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top