Kodunuzu AI Kazalarından Koruma: Jujutsu Neden Vazgeçilmez?
AI Geliştirme Ortamında Veri Kaybından Korunmanın Yolu: Jujutsu
Başımıza Gelen Şey: Yapay Zeka Yardımcılarının Karanlık Yüzü
Kodlama akışına girmiş, Claude, Gemini ya da benzeri bir yapay zeka aracıyla çalışıyorsun. Sonra birdenbire her şey ters gidiyor. Yapay zeka senin talimatını yanlış anlar ve git clean komutunu kullanmayan dosyalar üzerinde çalıştırır. Saatler boyu harcadığın deney çalışmaların ortadan kayboluverir. Ya da bağlam temizlenir, terminal boşalır ve yapay zeka bir görevin ortasında ne yaptığını unutur. Hasarı gidermeyi istediğinde ise özür dileyen bir yanıt alırsın: "Bu dosyaları kurtaramıyorum, Git'e kaydedilmemişlerdi."
Bu senaryo, geliştirici topluluğu yapay zeka destekli kod yazma araçlarını benimsedikçe giderek daha yaygın hâle geliyor. Üzücü gerçek şu: geleneksel Git iş akışları, yapay zekanın kaotik ve yinelemeli yapısına hiç uyumlu değil.
Geleneksel Git Neden Yetersiz Kalıyor?
Git şüphesiz güçlü bir araç, ancak bilinçli commit'leme gerektiriyor. Çalışmalarını anlamlı kontrol noktalarında kaydetmeyi kendin karar vermelisin. Yapay zeka ajanları hızlı iterasyonlar yaptığında, bu durum tehlikeli bir boşluk yaratıyor. Oturum boyunca kendine güven duyarak commit'lemeyi unutabilirsin. Ya da yapay zeka birden fazla değişiklik yaparken sorunlar yaşayıp bunları geri alıp silebilir, ama sen hiçbir şeyi anlamlı biçimde kaydedemiş olmayabilirsin.
En korkunç senaryo? Yapay zeka havuz'una (repository) yıkıcı bir şekilde müdahale eder ve asla resmi olarak kaydedilmediği için o çalışmayı kurtaramayız.
Jujutsu: AI Çağında Geliştirmenin Güvenlik Kalkanı
Jujutsu (jj olarak kısaltılıyor) tamamen farklı bir felsefe üzerine inşa edilmiş bir sürüm kontrol sistemi. Senin commit'lemeyi beklememek yerine, jj her bir komutu çalıştırdığında çalışma klasörünü otomatik olarak kaydeder. Bu demek oluyor ki her değişiklik, her deney, her kaza bulunan silme işlemi işlem günlüğünde korunuyor.
Bunu Git'in obsesif bir belleği gibi düşün. Git seninle açıkça yaptığın commit'leri takip ederken, Jujutsu havuzda olup biten her şeyi kaydeder—bunu istesen de istemesen de.
Başlamak: Hiç Zorluk Yok
En iyi tarafı? Git ve Jujutsu'yu aynı anda kullanabilirsin. İkisi birbiriyle harika uyum içinde çalışıyor.
Mevcut bir Git havuzunda jj kurmak çok kolay:
jj git init --colocate
Hepsi bu. Jujutsu artık mevcut Git iş akışının yanında çalışıyor. Takım arkadaşların hiç fark etmeyecek—tamamen saydam bir şekilde çalışıyor. Uzak sunucuya yükleme yaptığında yine Git'i normal şekilde kullanıyorsun.
Jujutsu'nun Mantığını Anlamak
Jujutsu, Git'ten biraz farklı terminoloji kullansa da temel kavramlar oldukça sezgisel:
@(çalışma seti): Git'in çalışma klasörüne benzer, ama otomatik olarak kaydediliyor- Commit tanımlayıcıları: Onaltılık sayılar yerine
[g-z]karakterlerini kullanıyor, Git hash'lerinden farklı görünüyorlar - İşlem günlüğü: Havuzda yapılan her değişikliğin tam geçmişi
Pratikte bu şöyle görünüyor:
$ jj
@ lrklqzxy panozzaj@gmail.com 2025-11-22 16:06:25 b76e8471
│ (açıklama belirlenmedi)
○ qppwxvzp panozzaj@gmail.com 2025-11-06 10:57:53 master
Site performans denetim belgesi eklendi
@ sembolü senin kaydedilmemiş çalışmalarını temsil ediyor. Her değişiklik benzersiz bir tanımlayıcı alıyor. Git'in onaltılık hash'lerinin aksine, jj kullandığı karakterler sayesinde bunları fark etmek ve hatırlamak çok daha kolay.
Sihirli Kısım: Kaybolan Çalışmaları Kurtarmak
İşte Jujutsu'nun araç setinize katılmayı hak ettiği an. Varsayalım ki yapay zeka yıkıcı bir değişiklik yapmış. Tüm işlem geçmişini görebilirsin:
jj obslog --revision @ --patch --limit 5
Bu komut son 5 işlemin tam fark'larını (diff) gösterir. Tam olarak ne değiştiğini, ne zaman değiştiğini ve bu değişiklikleri kurtarmayı görebilirsin. Yapay zeka dosya silse, değişiklikleri geri alsa ya da çalışma klasörünü bozsa bile, her şey günlükte var.
Neden Bu AI Geliştirmesi İçin Önemli?
Yapay zeka kod yazma ajanları insan geliştiricilerden farklı çalışır:
- İnsan gözetimi olmadan ardı ardına değişiklik yapıyorlar
- Bazen talimatları yanlış anlar ve istemeden değişiklik yapıyorlar
- Sohbetler uzunlaştığında bağlamı ve durumu unutuyorlar
- Yıkıcı komutları kullanırken sonuçlarının farkında olmayabiliyorlar
Geleneksel Git iş akışları insanın kontrol sahibi olduğunu varsayıyor. Yapay zeka destekli geliştirme bu varsayımı çöküyor. Jujutsu, her dosya sistemi değişikliğini değerli ve kurtarılabilir hâle getirerek güvenliği geri sağlıyor.
Gerçek Dünya İş Akışı
Jujutsu'yu AI kodlama oturumlarına mevcut süreçlerini değiştirmeden entegre edebilirsin:
- AI oturumuna başlamadan önce: jj'nin her şeyi kaydettiğini bil
- Oturum sırasında: Yapay zeka özgürce çalışsın—jj her değişikliği kaydediyor
- Sorun çıkarsa: Sorunun hemen öncesindeki anı bulmak için
jj obslogkullan - Temizlemenin sonrasında: Son değişiklikleri Git'e normal şekilde commit'le
Buradaki güzellik şu ki jj, Git'in altında çalışıyor. Yine de GitHub, GitLab ya da başka yerlere Git kullanarak gönderiyorsun. Ama altında tam bir güvenlik ağın var.
En Az Ek Yük Yaklaşımı
Jujutsu'nun en büyük avantajlarından biri neredeyse hiç ek yük getirmemesi:
- Kurulması basit ve düz
- Git iş akışına hiçbir değişiklik gerekmiyor
- Takım arkadaşların fark etmediği bir araç
- Git ile birlikte yaşaması, depolama çoğaltmasını ortadan kaldırıyor
- Renkli commit tanımlayıcıları ayrımlaştırmayı kolaylaştırıyor
Yani başka bir dezavantaj yok. Yapay zeka ajanlarıyla çalıştığın projelere kurmaktan biraz bile çekinecek bir neden yoktur.
İleriye Bakış
Yapay zeka kod yazma yardımcıları geliştirme iş akışlarına daha derinlemesine entegre oldukça, Jujutsu gibi araçlar giderek daha gerekli hâle gelecek. Soru artık yapay zekanın bir hatasından veri kayıp edip etmeyeceği değil—kaybettiğin zaman onu kurtaracak bir yolun olup olmayacağı.
Claude Code, Gemini CLI ya da benzer araçlarla düzenli çalışan herkes için Jujutsu kurmak, yapay zekanın ve istenmeyen sonuçların çarpışması kaçınılmaz hâle geldiğinde seni koruyacak bir sigorta poliçesi gibi.
Saatler boyu çalıştığın şeyleri basit bir komutla geri getirebileceğin zamanlar gelince, kendine müteşekkir olacaksın. Git boşluğunun içine kayıp gitmesini seyretmek yerine.