2013-03-06 6 views
3

J'ai fait un commit et pousser mon repo git.GIT annuler un commit

J'ai alors besoin de rollback qui commettras que je l'ai fait comme ceci:

git reset --hard b1b5768c9687455f01bab242ff177a5ee403104f 

Est-il possible de trouver le SHA du premier engagement? et revenir à nouveau?

+2

'reflog' git est votre ami. ou simplement utiliser 'git reset origin/master --hard' (en supposant que la télécommande soit dans l'origine nommée, et que la branche que vous utilisez est maître) – AD7six

Répondre

5

Utilisez git log -g ou git reflog pour voir le reflog - le journal de toutes les valeurs prises en compte par HEAD. Pensez-y comme une histoire chronologique de la tête plutôt que d'un historique checkin.

Une fois que vous l'avez trouvé, vous pouvez lui retourner git reset (éventuellement après avoir créé une branche pour le désigner) ou en sélectionner une partie.

+0

git reflog est exactement ce que je cherchais. Merci! – bob

3

La voie directe (immédiatement après) serait

git reset --hard [email protected]{1} 

Cela prend juste la référence précédente de la reflog pour la tête