Anda dapat melihat komit menggantung dengan git log -g
.
-g, --walk-reflogs
Instead of walking the commit ancestry chain, walk reflog entries from
the most recent one to older ones.
Jadi Anda bisa melakukan ini untuk menemukan string tertentu dalam pesan komit yang menggantung:
git log -g --grep=search_for_this
Atau, jika Anda ingin mencari perubahan untuk string tertentu, Anda dapat menggunakan opsi pencarian beliung, "-S":
git log -g -Ssearch_for_this
# this also works but may be slower, it only shows text-added results
git grep search_for_this $(git log -g --pretty=format:%h)
Git 1.7.4 akan menambahkan opsi -G , memungkinkan Anda untuk melewatkan -G <regexp> untuk menemukan ketika baris yang mengandung <regexp> dipindahkan, yang -S tidak bisa lakukan. -S hanya akan memberi tahu Anda ketika jumlah total baris yang berisi string berubah (yaitu menambah / menghapus string).
Akhirnya, Anda bisa menggunakan gitk untuk memvisualisasikan komit yang menggantung dengan:
gitk --all $(git log -g --pretty=format:%h)
Dan kemudian gunakan fitur pencariannya untuk mencari file yang salah tempat. Semua pekerjaan ini dengan asumsi komit yang hilang belum "kedaluwarsa" dan telah dikumpulkan, yang dapat terjadi jika menggantung selama 30 hari dan Anda kedaluwarsa reflog atau menjalankan perintah yang kedaluwarsa.