Git yanlış kullanım hikâyem, ağlamakla bitmek üzere olan bir Cuma akşamında geçiyor. O hafta önemli bir özellik üzerinde çalışıyordum. Commit atmıştım ama düzensizce, "deneme", "asdf", "hata düzeltme" gibi anlamsız mesajlarla. Kimse anlamasın diye miydi bilemiyorum, ama sonuç facia oldu. Git yanlış kullanımın fitilini ateşleyen şey şu oldu: tüm dalı temizlemek istedim, "git reset --hard" komutunu çalıştırdım. Ama hangi commit'e reset yaptığımı kontrol etmedim. Bir haftanın commit geçmişi, yüzlerce satır kod, hepsi gitti. Terminal ekrana bakakaldım. Panik. O an aklımda tek soru vardı: geri alabiliyor muyum? Araştırmaya başladım. Git yanlış kullanım sonrası kurtarmanın birkaç yolu varmış. `git reflog` komutu neredeyse kurtarıcım oldu. Reflog, yaptığın her işlemi kaydediyor, reset sonrasında bile. Reflog'u açtım, haftanın en son commit hash'ini buldum. `git checkout [hash]` ile o commit'e gittim. Kodlar oradaydı. Nefes aldım. Ama işim bitmemişti. O commit'i yeni bir dala almam gerekiyordu. `git checkout -b kurtarma-dali` komutunu çalıştırdım ve kurtarılan kodu yeni dalda topladım. Birleştirme yaparken bazı çakışmalar çıktı ama bunlar elle çözülebildi. Git yanlış kullanım bana şunları öğretti: `--hard` flagini her zaman iki kez düşün. Commit mesajlarını anlamlı yaz, ileride reflog'da bulman gerekebilir. Ve en önemlisi: `git reflog` her geliştiricinin bilmesi gereken bir kurtarma aracı. Çoğu felaket geri alınabilir, eğer paniklemeden doğru komutu hatırlayabilirsen.