Lesson 09 · 10 dk okuma

Git worktrees ile paralel feature çalışması

EnterWorktree, ExitWorktree ve isolation flag'i — branch'lerini yan yana çalıştırma rehberi.

Öğreneceklerin

  • Git worktrees'in ne çözdüğünü anla
  • Built-in EnterWorktree/ExitWorktree komutlarını kullanmayı öğren
  • Subagent'a isolation worktree parametresi geçmenin ne işe yaradığını gör

Aynı repo üzerinde iki feature’ı paralel geliştirmek istiyorsun. Klasik akış: stash → checkout → kod yaz → checkout geri → stash pop. Hatalı, yorucu, dikkat dağıtıcı.

Git worktrees repo’nun farklı branch’lerini diskte ayrı klasörlerde aynı anda canlı tutmana izin verir. Claude Code bunu native destekliyor.

Native komutlar

EnterWorktree { branch: "feat/login" }     → /tmp/worktrees/feat-login içine geç
ExitWorktree                               → main worktree'ye dön + isteğe göre temizle

Açıldığında:

  • Yeni bir worktree path’i otomatik kurulur
  • Çalışma dizini o klasöre geçer
  • Aynı session’da kod yazıp test çalıştırabilirsin
  • Geri dönünce ana branch’in dokunulmamış

Hook’lar ve session state ana session’a aittir — sadece dosya işlemleri worktree’de gerçekleşir.

Subagent isolation: “worktree”

Bir subagent’a isolation: "worktree" parametresi geçince:

Agent({
  description: "Refactor experiment",
  isolation: "worktree",
  prompt: "..."
})
  • Subagent ayrı worktree’de çalışır
  • Dosya değişiklikleri hiç değişiklik yoksa otomatik temizlenir
  • Değişiklik varsa path + branch sana döner; istersen merge et, istersen sil
  • Ana repo’n hiç dokunulmaz

Bu pattern özellikle “deneysel refactor” veya “iki yaklaşımı karşılaştır” için altın değerinde.

Manuel worktree (CLI)

Built-in komutu yoksa terminal:

git worktree add ../myapp-feat-x feat/x
cd ../myapp-feat-x
# çalış, commit, push
cd ..
git worktree remove myapp-feat-x

Karar matrisi

DurumYaklaşım
Tek branch, lineer işWorktree gereksiz
2 feature paralelEnterWorktree + ana session ikisini de yönetebilir
”Önce A bitse B’ye geçsem”EnterWorktree → ExitWorktree
Riskli refactor denemesiSubagent + isolation: “worktree”
Acil hotfix gelir, mevcut iş yarımEnterWorktree main → fix → exit

Yaygın tuzaklar

  • Aynı branch iki yerde checkout edilemez — her worktree farklı branch ister
  • node_modules worktree başına tekrar kurulur (yer kaplar). Workspace cache (pnpm) yardımcı olur
  • .env dosyaları worktree’ye kopyalanmaz — symlink veya kopyala

Sıradaki

Auto Mode + Fast Mode — permission akışını ve yanıt hızını nasıl ayarlarsın.