Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Yazı Tipi BoyutlandırıcıAa
  • Anasayfa
  • Teknoloji
    • Siber Güvenlik
    • Yapay Zeka
    • Donanım
    • Bilim
  • Yazılım
  • Savunma & İstihbarat
  • Oyun
  • Yaşam
    • Finans
    • Sinema
    • Dünyadan Haberler
  • İş Birliği
Okuma: Git Worktree’leri, Claude Code, Laravel ve Herd ile Kullanma
Paylaş
Yazı Tipi BoyutlandırıcıAa
Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Ara
Bizi Takip Et
  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti
© 2026 Teknomers. All Rights Reserved.

Anasayfa » Git Worktree’leri, Claude Code, Laravel ve Herd ile Kullanma

Yazılım

Git Worktree’leri, Claude Code, Laravel ve Herd ile Kullanma

teknomers
Son güncelleme: 28 Şubat 2026 03:21
teknomers
Paylaş
Paylaş

Çok sayıda Claude Code oturumunu paralel olarak yürütüyorum. Bir ajan, rezervasyon akışını yeniden yapılandırıyor, diğer bir ajan yeni bir entegrasyon geliştiriyor ve ben aynı anda üretime bir hotfix göndermem gerekiyor. Hepsi aynı kod tabanında.

Eğer bunu git stash ve Branch değişimleri ile denemişseniz, sıkıntısını biliyorsunuz. Taahhüt edilmemiş değişiklikler, rekabet eden migrations tarafından bozulmuş paylaşılan veritabanları. Bir karmaşa var.

Git worktrees tüm bunları benim için çözdü.


Git Worktrees Nedir?

Bir worktree, aynı .git geçmişine bağlı, deposunun farklı bir dizinindeki ayrı bir checkout’tur. Her worktree kendi branch’ine, kendi çalışma ağacına, kendi node_modules‘ına ve kendi .env‘ine sahiptir. Ancak aynı git geçmişini paylaşırlar; bu nedenle commits, branches ve remotes senkronize bir şekilde çalışır.

git worktree add .claude/worktrees/feature-billing feature-billing
Enter fullscreen mode
Exit fullscreen mode

Ve bu kadar. Artık .claude/worktrees/feature-billing dizininde feature-billing branch’i üzerinde projeyi tam kopyalamış oldunuz. Ana dizininiz tam olarak bulunduğu yerde kalır.

Hiçbir stash yapmanıza gerek yok. Kontekst değişimi yok. “Hangi branch’teyim?” diye düşünmenize gerek kalmaz.


AI Kodlama Ajanları İçin Neden Önemli?

Claude Code (ve benzeri araçlar), kararlı ve izole bir ortamda en iyi şekilde çalışır. Bir ajan veritabanı migration’ını planlarken, başka bir ajan testler yapıyorsa, mevcut çalışma dizinini yanlışlıkla bozmamalıdır.

Worktrees ile, her Claude oturumu kendi sandbox’una sahip olur. Bir ajan, bir özellik branch’inde migration yaparken, diğer ajanın ana branch’te test yazdığı sırada birbirlerinin varlığından haberdar olmayacak.

Ancak burada dikkat edilmesi gereken bir şey var: ham git worktree add komutu yalnızca dosyaları sağlar. Bir Laravel projesi için ayrıca ihtiyaç duyulan şeyler:

  • Composer ve npm bağımlılıklarının yüklenmesi
  • Kendi veritabanı (ana uygulamanızın kullandığı değil)
  • Doğru APP_URL ve DB_DATABASE ile kendine ait bir .env
  • Laravel Herd kullanıyorsanız çalışır bir lokal alan adı
  • Çatışmayan bir portta bir Vite dev server

Bunları her seferinde manuel olarak ayarlamak, amacın dışına çıkar.


Her Şeyi Oluşturmak İçin Bir Komut

Tüm süreci gerçekleştiren bir kurulum betiği yazdım. Bir worktree oluşturduğunuzda, bir dakikadan kısa sürede tam işlevsel bir Laravel ortamına sahip olursunuz:

./claude-worktree.sh feature-billing
Enter fullscreen mode
Exit fullscreen mode

Arka planda olanlar:

  1. Yeni bir branch ile git worktree oluşturur
  2. Ana projeden .env dosyasını kopyalar ve ayarlar (yeni APP_URL, DB_DATABASE, VITE_PORT)
  3. Vite için boş bir port bulur (5100–5199 aralığında tarar, her iki .env dosyasını ve lsof komutunu kontrol eder)
  4. composer install ve pnpm install komutlarını çalıştırır
  5. Taze bir veritabanı oluşturur
  6. Migrations ve seeders çalıştırır
  7. Worktree’yi Laravel Herd ile HTTPS ile ilişkilendirir
  8. Claude Code’u yeni dizinde başlatır

Sonuç:

Branch:    feature-billing
Path:      /project/.claude/worktrees/feature-billing
URL:       https://feature-billing.myapp.test
Database:  myapp_feature_billing
Vite port: 5101
Enter fullscreen mode
Exit fullscreen mode

Tamamen izole bir ortam. Kendi veritabanı, kendi alan adı ve kendi portu var. Tarayıcıda ana uygulamanızla yan yana açabilirsiniz ve birbirleriyle etkileşimde bulunmazlar.


Kapatmak İçin Bir Komut

İşiniz bittiğinde:

./claude-worktree-remove.sh feature-billing
Enter fullscreen mode
Exit fullscreen mode

Bu komut veritabanını siler, Herd bağlantısını ve TLS sertifikasını kaldırır, worktree’yi siler ve branch’i temizler. Gitti. Hiçbir kalıntı veritabanı, hiçbir hayali Herd alan adı kalmaz.


Vite Port Problemi

Bu oldukça can sıkıcıydı. Vite varsayılan olarak 5173 portunu kullanır ve eğer üç worktree’si birden dev server çalıştırıyorsa, ya port için savaşacaklar ya da sessizce rastgele portlar seçecekler.

Kurulum betiği, her worktree’ye rezerve edilmiş bir aralıktan (5100–5199) benzersiz bir port atar. Hem mevcut worktree .env dosyalarını, hem de aktif dinleyicileri kontrol eder. Ardından package.json dev script’ini doğrudan düzeltir:

"dev": "vite --port 5101"
Enter fullscreen mode
Exit fullscreen mode

Hiçbir yapılandırma dosyası ile uğraşmaya gerek yok. Port komutla birlikte dahildir. Her seferinde çalışıyor.

Laravel tarafında, Vite asetlerini yükleyen Blade direktifi portu .env’den okur:

$port = Env::get('VITE_PORT', '5173');
return ' $port . '/resources/js/app.ts">';
Enter fullscreen mode
Exit fullscreen mode

Bu yalnızca geliştirme aşamasında çalışır. Üretimde CDN yapısı kullanılmaktadır, tamamen etkilenmez.


Güvenlik İçin Hook’lar

Eğer Claude Code kullanıyorsanız, worktree kurulumu ve temizliğini otomatik olarak yöneten hook’lar ekleyebilirsiniz. Bash aracında bir PreToolUse hook’u, Claude’un yapılandırılmamış bir worktree’ye girdiğini tespit edebilir ve kurulum betiğini çalıştırabilir. Başka bir hook ise git worktree remove komutlarını tespit edip dizin silinmeden önce temizliği gerçekleştirebilir.

Bu, Claude’un kendi başına worktree’ler oluşturup silmesi durumunda (ki bunun için yerleşik worktree desteği vardır), her şeyin düzgün bir şekilde kurulup kaldırılmasını sağlar.


Paralel Oturumlarla İlgili Gerçekçi Olmak

Açık olmalıyım ki, aynı anda 2-3’den fazla Claude oturumu etkili bir şekilde yönetemem. Denedim. Bu, StarCraft 2 oynayıp 10 üssü aynı anda yönetmeye çalışmak gibi. O kadar telaşla geçiş yapıyorsunuz ki, birine odaklanmak yerine daha kötü oynuyorsunuz.

Ama benim için bu gerçekten de önemli değil. Belki ben kadar juggling yeteneğiniz vardır, ve bu durumda sorun değil. Ancak benim için asıl değer, yalnızca aynı anda beş ajan çalıştırmak değil, izolasyon ve süreklilik ile ilgilidir.

Bir özellik branch’i başlatabilir, Claude’un bir saat boyunca plan yapmasını ve yapılandırmasını bekleyebilirsiniz, sonra duraklayabilirsiniz. Ana branch’e geçebilir, bir hotfix gönderebilir ve bir destek talebi ile ilgilenebilirsiniz. Daha sonra özellik worktree’nize geri döndüğünüzde her şey tam olarak bıraktığınız gibi kalır. Veritabanı doğru migrations’a sahip, bağımlılıklar yüklenmiş, branch dokunulmamış.

Hiçbir stash açma durumu yok. “Nerede kaldım?” sorusu yok. Yanlış veritabanında migrations çalıştırma durumu yok.


Projenizde Kurulum

Tüm süreci bir Claude Code skill olarak paketledim. Kurulumunu yapın, /setup-worktrees komutunu çalıştırın ve Claude her şeyi oluşturur — oluşturma betiği, kaldırma betiği, temizlik mantığı, hook’lar, hepsini.

Paket yöneticinizi tespit eder, .env dosyanızdaki veritabanı kimlik bilgilerini okur, Herd alt alan adlarını uygulama adınızdan türeder. MySQL, PostgreSQL ve SQLite ile uyumludur. Önceden hiçbir şey yapılandırmanıza gerek yoktur.

Gerekenler:

  • Laravel projesi, Laravel Herd tarafından barındırılıyor
  • Bir veritabanı (MySQL, PostgreSQL veya SQLite)
  • Bir git deposu

Elinizde olacaklar:

  • claude-worktree.sh — tamamen izole bir ortam oluşturmak için bir komut
  • claude-worktree-remove.sh — hepsini silmek için bir komut
  • Otomatik kurulum/temizlik için Claude Code hook’ları
  • Her worktree başına kendi veritabanı, Herd alan adı ve Vite portu

Skill’ı Yükleyin:

/plugin marketplace add gausejakub/claude-skills
/plugin install laravel-worktrees@gause-claude-skills
Enter fullscreen mode
Exit fullscreen mode

Ardından, Claude Code’da /setup-worktrees komutunu çalıştırın. Ve hepsi bu kadar. Tek bir slash komutuyla, tamamen yapılandırılmış bir worktree sistemine sahip olacaksınız.

Eğer farklı bir stack kullanıyorsanız, prensip aynıdır. Her worktree, kendi izole çalışma zamanına ihtiyaç duyar: kendi veritabanı, kendi dev server portu, kendi lokal URL’si. Kurulumu otomatikleştirin, temizliği otomatikleştirin, ve branch geçişleri hiç sorun olmayacaktır.


Blog yazısı · GitHub

Kaynak: Orijinal Makale

Contents
  • Git Worktrees Nedir?
  • AI Kodlama Ajanları İçin Neden Önemli?
  • Her Şeyi Oluşturmak İçin Bir Komut
  • Kapatmak İçin Bir Komut
  • Vite Port Problemi
  • Güvenlik İçin Hook’lar
  • Paralel Oturumlarla İlgili Gerçekçi Olmak
  • Projenizde Kurulum
Laravel Horizon, Redis ve Basit Bir REST API ile Funnel Analitik Motoru Nasıl Oluşturdum
cPanel’de Laravel storage:link Çalışmıyor mu? Dağıtım Sonrası Görseller Kayboluyor
Laravel’de Swagger Dokümanlarını Otomatik Olarak Üretme — Sıfır Anotasyon, Sıfır Konfigürasyon
Laravel ve Inertia.js ile Fetch İsteklerinizin Kaydettikten Sonra 419 Hatası Vermesinin Nedenleri
Z.AI LARAVEL 12 SDK – Geliştirici Topluluğu
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Resident Evil Requiem’de Doğu Kanadı Anahtar Kartı Nasıl Alınır
Sonraki Makale FedEx Müşterilerine Trump’ın Tarife Ücretlerini İade Edecek mi?

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

Özelliğinizin testlerinin göremediği hatayı yakalayan bir test
Yazılım
Ürün Yelpazesini Zenginleştiren Super Mario ve Yoshi Lego Seti
Oyun
Valve bir günde 13 ton VR başlığı ithal etti
Liste
Nvidia GeForce Now Yıllık Planlarında Yaz Dönemi Fırsatları
Oyun
Meta Çalışanları, Zuckerberg’in AI Hackathon Planına Tepki Gösteriyor!
Genel
Microsoft’un Xbox’ı Bağımsız Hale Getirmesi ve Yeni Oyunlarla Tanışma Zamanı
Oyun
//

Siber güvenlik, yapay zeka ve savunma sanayiinden; finans ve sinema dünyasına uzanan geniş bir yelpaze. Teknomers; teknoloji, strateji ve yazılım dünyasını sade bir dille sizlerle buluşturuyor.

Kurumsal

  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti

Kategoriler

  • Teknoloji
  • Oyun
  • Sinema
  • Siber Güvenlik
  • Bilim
  • Finans
  • Dünyadan Güncel Haberler

Populer

  • TV'de Ücretsiz İzlenebilen Şifresiz Erotik Kanallar (2025 Güncel Frekans Listesi)

  • The Last of Us PC Kontrolleri: Hızlı Silah Değiştirme ve Tüm Tuşlar (2025)

  • Hogwarts Legacy'de Odaklanma İksiri Nasıl Yapılır?

Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Bizi Takip Et
© 2026 Teknomers. All Rights Reserved.
Welcome Back!

Sign in to your account

Kullanıcı Adı veya E-posta Adresi
Şifre

Şifrenizi mi unuttunuz?