Bazı durumlarda yaptığın bir işlemi geri almak ya da silinen commit’leri kurtarmak isteyebilirsin. git reflog bunun için var.
git reflog Nedir?git reflog, HEAD ve branch'lerin geçtiği tüm noktaları listeler. Bu sayede yanlışlıkla kaybolan commit’ler bulunabilir.
git reflog
Örnek çıktı:
e8d2a1f HEAD@{0}: commit: Yeni özellik eklendi
6c5f1a7 HEAD@{1}: reset: moving to HEAD~1
Diyelim ki git reset --hard ile commit sildin. Reflog ile bulup geri dönebilirsin:
git reset --hard HEAD@{1}
Ya da commit ID ile:
git reset --hard e8d2a1f
Silinen ya da taşınan bir commit ID'sini git reflog ile kolayca görebilirsin. Ardından:
git checkout <id> ile geçici olarak erişgit branch geri-kurtar <id> ile kalıcı hale getirgc (garbage collection) ile silinir.git fsck --lost-found ile bozuk commit’leri bulabilirsin.reset, rebase, commit --amend gibi geçmişi değiştiren komutlardan sonra hayat kurtarır.