Menu
Coddy logo textTech

Git Worktree

Son güncelleme

git worktree, tek bir deponun aynı anda her biri farklı bir dalda olan birden fazla çalışma dizinine sahip olmasını sağlar. Dal değiştirmek için çalışmanızı stash'lemek yerine, diğer dalı ayrı bir klasörde checkout edersiniz - bir PR inceleyin, bir hotfix çalıştırın veya bir dalı düzenlerken başka bir dalı derleyin, hepsi aynı .git geçmişini paylaşarak.

Bunları terminal playground'da deneyin - tarayıcınızda gerçek bir kabuk, kurulacak bir şey yok.

Söz dizimi

CommandWhat it does
git worktree add ../hotfix hotfixhotfix dalını kardeş bir klasörde checkout eder
git worktree add -b new ../newBir dal ve onun için bir worktree oluşturur
git worktree listTüm worktree'leri ve dallarını listeler
git worktree remove ../hotfixBir worktree'yi kaldırır
git worktree pruneEskimiş worktree kayıtlarını temizler

Uygulamalı örnek

Özellik dalınıza dokunmadan main üzerinde bir hatayı düzeltin.

StepCommandResult
1git worktree add ../fix mainmain, ../fix içinde checkout edildi
2../fix içinde düzeltin ve commit'leyinHotfix main üzerinde tamam
3git worktree remove ../fixTemizlik; özellik dalına dokunulmadı

git worktree SSS

git worktree nedir?
Bir worktree, aynı depoya bağlı, farklı bir dala veya commit'e checkout edilmiş ek bir çalışma dizinidir. Birden fazla dalı aynı anda ayrı klasörlerde checkout etmenizi sağlar, hepsi tek bir .git geçmişini paylaşır - böylece iki dalda aynı anda çalışmak için stash'lemek veya klonlamak zorunda kalmazsınız.
Bir worktree'yi nasıl eklerim?
git worktree add <path> <branch> komutunu çalıştırın, örneğin git worktree add ../hotfix hotfix. Git o dalı yeni klasöre checkout eder. Aynı anda yeni bir dal oluşturmak için git worktree add -b <newbranch> <path> kullanın.
Dal değiştirmek yerine ne zaman worktree kullanmalıyım?
Dal değiştirmenin sorun yaratacağı durumlarda kullanın - commit edilmemiş çalışmanız var, kesmek istemediğiniz uzun bir derleme var veya iki dalı yan yana karşılaştırmanız gerekiyor. Bir worktree, diğer dalı mevcut olana dokunmadan kendi klasöründe verir.
Bir worktree'yi nasıl kaldırırım?
git worktree remove <path> komutunu çalıştırın. Klasör elle silindiyse, eskimiş kayıtları temizlemek için git worktree prune çalıştırın. Ana worktree'yi (orijinal depo klasörünü) kaldıramazsınız, yalnızca eklediğiniz ekleri kaldırabilirsiniz.
Bunu çevrimiçi olarak deneyebilir miyim?
Evet. git worktree komutunu tarayıcınızda gerçek bir kabukta çalıştırmak için terminal playground'u açın - kurulacak bir şey yok. Coddy'nin ücretsiz etkileşimli Git kursu, dallanma iş akışlarını da adım adım kapsar.
Coddy programming languages illustration

Coddy ile Git öğren

BAŞLA