🚀 Commit’ler Hayat Kurtarır: Git ile Zaman Makinesi Kullanmak
Bir yazılım geliştiricinin en güçlü süper gücü nedir biliyor musun? Zamanı geri alabilmek. Git commit ve geri alma komutları tam da bunu…
🚀 Commit’ler Hayat Kurtarır: Git ile Zaman Makinesi Kullanmak

Bir yazılım geliştiricinin en güçlü süper gücü nedir biliyor musun? Zamanı geri alabilmek. Git commit ve geri alma komutları tam da bunu sağlar: projeni istediğin ana geri sarabilir, hataları düzeltebilir, geçmişi inceleyebilirsin.
Günlük hayattan düşün:
- Commit = Fotoğraf çekmek. Telefonla bir anı yakalarsın, o an artık kalıcıdır.
- Reset = Fotoğrafı silmek. Ama dikkat, bazen geri dönüşü yoktur.
- Revert = Fotoğrafın tersini çekmek. Yani “bu anı istemiyorum” diyerek yeni bir kare oluşturursun.
- Restore = Çektiğin fotoğrafı düzenlemeden önceki haline dönmek.
🔧 Teknik Örnek: İlk Commit
Bir proje başlattığını düşünelim. Dosya ekledin ve commit yaptın:
echo "Merhaba Dünya" > hello.txt
git add hello.txt
git commit -m "İlk dosya eklendi"
[main (root-commit) 1a2b3c4] İlk dosya eklendi
1 file changed, 1 insertion(+)
create mode 100644 hello.txt
📌 Burada git commit senin “fotoğrafını” çekti. Artık projenin bu hali Git veritabanında saklı.
[main (root-commit) abc1234]: Branch adı (main), commit türü (root-commityani ilk commit), ve commit hash’i (1a2b3c4örnek).
1 file changed, 1 insertion(+): Bir dosya eklendi, içine bir satır yazıldı.
create mode 100644 hello.txt: Dosya oluşturuldu, izinleri100644(normal dosya, okuma-yazma).
✍️ “Commit Mesajını Değiştirmek: Hataları Geri Almanın En Zarif Yolu”

Bir projede çalışırken bazen commit mesajını yanlış yazabilirsin. Günlük hayattan örnek: Arkadaşına WhatsApp’tan mesaj attın ama yazım hatası yaptın. Mesajı silip yeniden yazmak yerine, düzenleme özelliğini kullanırsın. İşte git commit --amend tam olarak bu!
🔧 Teknik Örnek: Commit Mesajını Düzenlemek
echo "Yeni satır" >> hello.txt
git add hello.txt
git commit -m "Yanlış mesaj"
Çıktı:
[main 5d6e7f8] Yanlış mesaj
1 file changed, 1 insertion(+)
Şimdi mesajı düzeltelim:
git commit --amend -m "Doğru mesaj: hello.txt güncellendi"
Çıktı:
[main 9a0b1c2] Doğru mesaj: hello.txt güncellendi
Date: Mon Feb 9 21:20:00 2026 +0300
1 file changed, 1 insertion(+)
📌 Burada commit ID değişti çünkü aslında yeni bir commit oluşturuldu. Ama geçmişteki hatalı mesaj artık yok.
🔍 Commit Geçmişini Görmek: git log

git log --oneline
Çıktı:
9a0b1c2 Doğru mesaj: hello.txt güncellendi
1a2b3c4 İlk dosya eklendi
Burada projenin geçmişini net bir şekilde görebiliyorsun. Tıpkı telefon galerisinde çektiğin fotoğrafları tarih sırasıyla görmek gibi.
🔄 “Commit’leri Geri Almak: Hataları Zamanında Durdurmak”

Bir projede çalışırken bazen yanlış bir dosya ekler, bazen de istemediğin bir değişikliği commit edersin. İşte burada Git’in geri alma komutları devreye girer. Günlük hayattan örneklerle düşünelim:
reset= Geri sarma tuşu. Televizyonda yanlış sahneyi izledin, geri sarıp kaldığın yere dönersin.revert= Tersini yapma. Bir WhatsApp grubuna yanlış mesaj attın, ama silmek yerine “özür dilerim, yanlış yazdım” diye yeni bir mesaj atarsın.restore= Dosyayı eski haline döndürmek. Word belgesinde yanlışlıkla bir paragrafı değiştirdin, “geri al” tuşuna bastın.
🔧 Teknik Örnek: git reset
echo "Yanlış satır" >> hello.txt
git add hello.txt
git commit -m "Yanlış commit"
Çıktı:
[main 3d4e5f6] Yanlış commit
1 file changed, 1 insertion(+)
Şimdi bu commit’i geri almak için:
git reset --soft HEAD~1
Çıktı:
(hiçbir çıktı yok, ama HEAD bir önceki commit’e döndü)
📌 Burada dosya değişiklikleri staging alanında duruyor, sadece commit geçmişi geri alındı.
Teknik Örnek: git revert
git revert HEAD
Çıktı:
[main 7g8h9i0] Revert "Yanlış commit"
1 file changed, 1 deletion(-)
📌 Burada commit silinmedi, onun tersini yapan yeni bir commit eklendi. Bu yöntem özellikle paylaşılan projelerde güvenli çünkü geçmişi bozmuyor.
🔧 Teknik Örnek: git restore
Çalışma dizinindeki değişiklikleri geri almak için:
echo "Geçici satır" >> hello.txt
git restore hello.txt
Çıktı:
(hiçbir çıktı yok, ama dosya eski haline döndü)
Staging alanındaki dosyayı geri almak için:
git add hello.txt
git restore --staged hello.txt
Çıktı:
Unstaged changes after reset:
M hello.txt
📌 Burada dosya staging’den çıkarıldı ama çalışma dizininde değişiklik duruyor.
🔄 Senaryo Akışı (Günlük Hayat Analojisiyle)
git status→ Sepete bak, neler var?git add→ Sepete koymak istediğin ürünleri seç.git commit→ Kasadan geçir, artık fişin var.git reset/git revert/git restore→ Yanlış ürün aldıysan geri bırak.
📝 “Reset mi, Revert mi, Restore mu? Doğru Aracı Seçmek”
🔧 git reset
Ne zaman?
- Kendi bilgisayarında çalışıyorsun, commit’i kimseyle paylaşmadın.
- Yanlış commit’i tamamen silmek istiyorsun.
- Analojisi: TV’de yanlış sahneyi izledin, geri sardın.
- Risk:
--hardkullanırsan kaydedilmemiş tüm değişiklikler silinir.
🔧 git revert
Ne zaman?
- Commit’i ekibe push ettin, herkesin geçmişinde var.
- Hatalı commit’i silmek yerine tersini yapan yeni commit eklemek istiyorsun.
- Analojisi: WhatsApp grubuna yanlış mesaj attın, ama silmek yerine “yanlış yazdım” diye yeni mesaj gönderdin.
- Avantaj: Geçmiş bozulmaz, ekip çalışması için güvenlidir.
🔧 git restore
Ne zaman?
- Henüz commit etmedin, sadece dosyada yanlış değişiklik yaptın.
- Dosyayı eski haline döndürmek istiyorsun.
- Analojisi: Word belgesinde yanlış paragraf yazdın, “geri al” tuşuna bastın.
- Avantaj: Commit geçmişine hiç dokunmaz, sadece dosya düzeyinde çalışır.
🔧 git status
Ne zaman?
- Commit öncesi her zaman.
- Analojisi: Market sepetine bakmak. “Neler aldım, eksik bir şey var mı?”
- Avantaj: Yanlış dosyaları commit etmeden fark edebilirsin.

🎯 Son Söz
Git, yazılım geliştiriciler için bir zaman makinesi gibidir. Doğru komutları doğru zamanda kullanarak hem kendi projeni hem de ekip çalışmasını güvenli hale getirebilirsin.
Yazım burada sona eriyor. Eğer eklemek istediğiniz bir şeyler ya da düzeltilmesi gereken bir hata olduğunu düşünüyorsanız, benimle iletişime geçmekten çekinmeyin.
메타데이터
- post_id
- da5c630bf9fb
- slug
- commitler-hayat-kurtarır-git-ile-zaman-makinesi-kullanmak-da5c630bf9fb
- url
- https://medium.com/@yyffgzct/commitler-hayat-kurtar%C4%B1r-git-ile-zaman-makinesi-kullanmak-da5c630bf9fb
- canonical_url
- https://medium.com/@yyffgzct/commitler-hayat-kurtar%C4%B1r-git-ile-zaman-makinesi-kullanmak-da5c630bf9fb
- author_url
- https://medium.com/@yyffgzct
- status
- ok
- fetched_at
- 2026-07-13 06:23:13