Geliştirme İşini Hızlandırmanın Sırları: Git Worktrees, Bulanık Arama ve AI Kodlama Araçları

Geliştirme İşini Hızlandırmanın Sırları: Git Worktrees, Bulanık Arama ve AI Kodlama Araçları

May 05, 2026 git developer-workflow terminal-productivity ai-development devops workflow-automation cloud-development

Çoklu Repository Kaosu Nasıl Çözersin?

Eğer 2024'te bir yazılımcıysan, muhtemelen bilgisayarında yüzlerce git klonu var. Çalıştığın projeler, yan işlerin, deney amaçlı fork'lar, müşteri repoları... hepsi dosya sisteminizin farklı köşelerine dağılmış durumda. Saat 2'de find ~ -name "bu-repo" yazıp arattığın kaç kez hatırlamıyorsundur bile.

İşin içine yapay zeka kodlama araçlarını eklediğinde durum daha karmaşık hale geliyor. Claude Code, GitHub Copilot gibi servisler geliştirmeyi hızlandırsa da yeni bir sorun ortaya çıkıyor: izolasyon. Birden fazla AI aracını paralel olarak çalıştırırsan—biri altyapıyı refactor ederken diğeri API endpoint yazıyorken—her birine ayrı çalışma alanı lazım. Ortak bir klasör paylaşmak artık yardımcı değil, aksine engel olur.

Sürekli branch'ler arasında geçiş yapmak, değişiklikleri saklamak, conflict'leri çözmek, yanlışlıkla silinen işleri kurtarmak... bunlar sadece rahatsızlık değil, hem insanı hem AI'ı yavaşlatan gerçek darboğazlar.

Üç Araç, Sonsuz Düzen: ghq + gwq + fzf

İyi haber şu ki açık kaynak topluluğu bunu zaten çözmüş. Üç basit aracı kombinleştirerek daha düzenli, daha ölçeklenebilir ve AI destekli iş akışlarına mükemmel uyum sağlayan bir geliştirme ortamı kurabilirsun.

git worktree: Paralel Çalışmanın Sırrı

Araçlardan bahsetmeden önce temeli anlamalıyız: git worktree. Bu Git özelliği sayesinde tek bir repository için aynı anda birden fazla çalışma klasörü açabilirsin. Branch değiştir-saklı değişiklikleri al-çatışma çöz yerine, her biri için ayrı worktree oluşturursan hepsi paralel çalışır.

AI kodlama araçları için bu neden kritik? İzolasyon yani.

  • Bir AI aracı A özelliğinde kendi worktree'sinde çalışıyor
  • Başka bir AI aracı B bug'ında farklı worktree'de çalışıyor
  • Birbirlerini hiç etkilemiyorlar
  • İkisi de aynı anda bağımsız ilerleyebiliyor

Bu yaklaşım modern AI geliştirmeyle mükemmel uyum sağlıyor. Claude'u bir worktree'de kod analiz etmesini isteyebilir, başka birinde test çalıştırabilir, ana branch'i temiz tutabilirsin—hepsi aynı anda.

Birinci Araç: ghq — Repository Kaosunu Düzenle

ghq (GitHub Query) basit görünse de repository dağınıklığını standartlaştırarak çözer. Her klonu, remote URL'sine göre önceden belirlenmiş bir klasör yapısına koyar.

Dosya sisteminize rastgele dağılmak yerine, ghq şu yapıyı kurar:

~/ghq/
  github.com/
    owner/
      repo-adı/
  gitlab.com/
    team/
      project/
  bitbucket.org/
    user/
      codebase/

Kök klasörü sen belirlersin (genellikle ~/ghq). Bundan sonra her repository öngörülebilir ve bulunabilir bir yerde yaşar. Felsefesi açık: standart kurallar, sonra otomasyon.

İkinci Araç: gwq — Worktree'leri Profesyonelce Yönet

gwq (git Worktree Query) bu felsefesini worktree'lere taşır. Rastgele yerler yerine, worktree'leri klonlanmış repolarla aynı kök altında organize eder.

Ayarları çok basit. ~/.config/gwq/config.toml içinde:

[naming]
template = '{{.Host}}/{{.Owner}}/{{.Repository}}={{.Branch}}'

[worktree]
basedir = '~/ghq'

Bu template sayesinde worktree'ler orijinal repodan kolayca ayrılabilir. Somut örnek:

~/ghq/
  github.com/acme-corp/api                    # orijinal repo
  github.com/acme-corp/api=odeme-ozelligi     # ödeme feature'ı için worktree
  github.com/acme-corp/api=auth-bugfix        # kimlik doğrulama bug'ı için worktree
  github.com/acme-corp/frontend               # başka bir repo
  github.com/acme-corp/frontend=arayuz-yenile # UI redesign worktree'si

=branch-adı soneki hangi worktree'nin hangi işle ilgili olduğunu anında gösterir. Birden fazla paralel görevle ilgilenirken bu çok önemli oluyor.

Üçüncü Araç: fzf — Dosya Listelerini İnteraktif Yapar

fzf (fuzzy finder) bu üçlüyü bir araya getiren yapıştırıcı. Terminal'de çalışan, liste girdilerini aranabilir arayüze dönüştüren hızlı bir araç.

Sihir ghq list'i fzf'ye yönlendirdiğinde oluşur:

ghq list | fzf

Aniden klasör yollarını yazmıyorsun. Repository'lerinizi bulanık arama yapıyorsun. "api" yazıyorsun, liste gerçek zamanlı filtreleniyor. Enter'a basıyorsun, doğru klasöre atlıyorsun.

Standart klasör yapısıyla birleşince gerçekten çok güçlü hale geliyor. Yolları, branch adlarını, worktree lokasyonlarını hatırlamak yerine kısmi kelimeler yazıyorsun. fzf ağır işi yapıyor.

Navigasyon Kısayolları Oluştur

Bu üç araç birlikte çalışınca, kolay hareket etmek için shell fonksiyonlar yazabilirsin.

Basit bir "repo'ya git" fonksiyonu:

# Herhangi bir repo'ya (orijinal veya worktree) atla
j() {
  cd "$(ghq list --full-path | fzf)"
}

Bulunduğun repository içindeki worktree'ler arasında geçiş için:

# Şimdiki repo'daki worktree'ler arasında geç
jw() {
  cd "$(git worktree list | awk '{print $1}' | fzf)"
}

Bu minimal bash kodları, standartlaştırmadan önceki dönem geliştiricilerin yaşadığı bağlam değiştirme yorgunluğunu ortadan kaldırıyor.

Neden AI ile Çalışırken Kritik Oluyor?

Gerçek değer ortaya çıkıyor çoklu AI araçlarıyla ve kendi katkılarınızla koordinasyon kurduğunda. Mesela NameOcean'ın Vibe Hosting platformu özellik dağıtımını hızlandırmak için yapay zeka yardımını kullanıyor. Standart ve öngörülebilir bir dosya yapısı sadece pratik değil, zorunlu oluyor.

AI araçlarınız tutarlı klasör düzenine güvenebilirse:

  • Relevant koda daha hızlı ulaşabilirler
  • Dosyalara güvenle referans verebilirler
  • Paralel görevlerde sorumluluk ayrımını net tutabilirler
  • Yollar değiştiğinde kırılmayan otomasyon scriptleri yazabilirler

Başlangıç: 15 Dakikalık Kurulum

  1. Araçları kur: ghq, gwq ve fzf çoğu paket yöneticisinde var
  2. ghq'yu ayarla: Git config'inde ghq.root = ~/ghq koy
  3. gwq'yu ayarla: ~/.config/gwq/config.toml oluştur, template ve basedir'i ver
  4. Shell fonksiyonları ekle: Yukarıdaki kısayolları .bashrc veya .zshrc'ye koy
  5. Klonlamaya başla: Artık git clone yerine ghq get kullan

Birkaç saat içinde bunu olmadan nasıl yönettin diye şaşıracaksın. Birkaç hafta içinde, bunun modern geliştirmenin temelini oluşturduğunu anlayacaksın.

Daha Geniş Perspektif

Bu araç seti, geliştirici verimliliğine yaklaşımımızda daha derin bir değişimi temsil ediyor. Dosya sistemiyle mücadele etmek yerine, uyum sağlıyoruz. Paralelleştirmeye karşı çıkmak yerine, onu kucaklıyoruz—hem insanlar hem yapay zeka için.

Zamanını tüketen küçük sorunlar bir gecede kaybolmaz. Ama birikiyor. Kaçınan her bağlam değiştirme bir küçük zafer. Çözülen her çatışma koruma altındaki hız. Kendi izole worktree'sinde bağımsız çalışabilen her AI aracı, ekibinin çıktısını çoğaltan bir katsayı.

Geliştirici deneyimini ciddiye alıyorsan—kendin için olsun, takımın için olsun—bu stackı hakketmeye değer.

Read in other languages:

RU BG EL CS UZ SV FI RO PT PL NB NL HU IT FR ES DE DA ZH-HANS EN