2010-09-28 2 views
5

Apparemment, un vieux commit de correction de bugs a été abandonné lors d'une fusion récente d'une ancienne branche en new. J'ai trouvé le commit dans les logs et ai l'ID (403357cab89465ce68001762d35fe27b57aeec65). Maintenant, je veux juste restaurer ce commit à la branche de travail en cours afin que je puisse d'abord différencier ces changements, mais probablement les valider tous à nouveau. Comment puis-je faire ceci?Restaurer un commit git précédent?

git checkout 403357cab89465ce68001762d35fe27b57aeec65

ne fonctionne pas.

Et en passant, le commit impliqué édite plusieurs fichiers.

Répondre

12

Effectuez un git cherry-pick sha1 et il tirera ce commit au-dessus de votre HEAD actuel.

+0

oh wow, qui a essentiellement pris le commit et l'a rebranché! merci, mais espérait voir les changements mis en scène d'abord afin que je puisse les différencier, vérifier que j'en ai besoin, etc. avant de décider de m'engager. – Doug

+1

Vous pouvez faire 'git reset HEAD ^' maintenant pour laisser les changements dans votre copie de travail mais supprimer le commit (en supposant que vous n'avez pas poussé). En outre, vous pouvez marquer une réponse comme acceptée dans le système ici en cliquant sur la coche :) – Daenyth

+0

C'était exactement ce dont j'avais besoin pour récupérer à partir d'un tuyau brisé sur une fusion de maître en amont. Merci! – Brian