Kısa cevap:
git reset 'HEAD@{1}'
Uzun cevap:
Git tüm ref güncellemelerinin bir kaydını tutar (örneğin, ödeme, sıfırlama, taahhüt, birleştirme). Yazarak görüntüleyebilirsiniz:
git reflog
Bu listenin bir yerinde kaybettiğiniz taahhüt vardır. Diyelim ki yeni yazdınız git reset HEAD~ve geri almak istiyorsunuz. Reflogum şöyle görünüyor:
$ git reflog
3f6db14 HEAD@{0}: HEAD~: updating HEAD
d27924e HEAD@{1}: checkout: moving from d27924e0fe16776f0d0f1ee2933a0334a4787b4c
[...]
İlk satır, HEAD0 konumun (başka bir deyişle geçerli konumun) 3f6db14 olduğunu; sıfırlanarak elde edildi HEAD~. İkinci satır HEAD1 pozisyon önce (yani sıfırlamadan önceki durumun) d27924e olduğunu söylüyor. Belirli bir taahhüdü kontrol ederek elde edildi (şu anda bu önemli değil). Sıfırlamayı geri almak için çalıştırın git reset HEAD@{1}(veya git reset d27924e).
Öte yandan, o zamandan bu yana HEAD güncellemesinden başka komutlar çalıştırırsanız, istediğiniz taahhüt listenin en üstünde olmaz ve reflog.
Son bir not: reflogSıfırlamak istediğiniz belirli şubeye bakmak daha kolay olabilir , deyin master yerine HEAD:
$ git reflog show master
c24138b master@{0}: merge origin/master: Fast-forward
90a2bf9 master@{1}: merge origin/master: Fast-forward
[...]
Bu, genelden daha az gürültü içermelidir HEAD reflog.