← Back to list

🚀 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…

Murat Demirbaş · 2026-02-10 07:27 · 0 claps · 3.9 min read
#git #github #git-commit #git-log
Open on Medium ↗
Wiki topics: 🔓 · Open Source

🚀 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-commit yani 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, izinleri 100644 (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)

  1. git status → Sepete bak, neler var?
  2. git add → Sepete koymak istediğin ürünleri seç.
  3. git commit → Kasadan geçir, artık fişin var.
  4. 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: --hard kullanı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