Çalışma alanı izolasyonu
Çakışma olmadan paralel deneyler için Git worktree tabanlı izolasyon
Workspace Isolation, paralel çalışmanın kendisiyle asla çakışmamasını sağlayan Verdent sistemidir. Her çalışma alanı tamamen ayrı bir çalışma ortamıdır ve dosya sistemi düzeyinde git worktree'leri kullanılarak izole edilir.
Neler öğreneceksiniz
- Çalışma alanı izolasyonunun çakışmaları nasıl önlediği
- git worktree'lerinin izolasyonu nasıl mümkün kıldığı
- Base Workspace ile Workspaces arasındaki fark
- Çalışma alanları oluşturma, geçiş yapma ve yönetme
- Çalışma alanı yönetimi için en iyi uygulamalar
Çalışma alanı izolasyonu nedir?
Workspace Isolation, bir görevdeki değişikliklerin asla başka birini etkilememesini sağlar. Paralel olarak farklı yaklaşımlar deneyin, sonuçları karşılaştırın ve yalnızca istediğiniz değişiklikleri seçerek ana dala geri taşıyın.
Nasıl çalışır
| Katman | Nasıl çalışır |
|---|---|
| Dizin | Her çalışma alanı izole bir dizindir |
| Dal | Her çalışma alanının kendi dal checkout'u vardır |
| Dosyalar | Bir çalışma alanındaki dosya değişiklikleri diğerlerini etkilemez |
| Hazırlık (staging) | Her çalışma alanının kendi staging alanı vardır |
Avantajlar
Sıfır müdahale
Paralel aracılar çakışamaz, bu fiziksel olarak imkansızdır
Güvenli deneme
Kararlı kodu etkilemeden riskli değişiklikler deneyin
Net karşılaştırma
Çalışma alanları arasındaki yaklaşımları karşılaştırmak için git diff kullanın
Seçici rebase
Yalnızca güvendiğiniz sonuçları rebase edin
Base Workspace ile Workspaces karşılaştırması
Base Workspace
Base çalışma alanı, varsayılan başlangıç noktası olarak hizmet veren orijinal depo checkout'unuzdur.
| Özellik | Açıklama |
|---|---|
| Konum | Orijinal git clone veya init konumunuz |
| Birincil dal | Genellikle main veya geliştirme dalında |
| Referans noktası | Deneysel çalışmaları karşılaştırma kaynağı |
Base ne zaman kullanılır:
- İzolasyon gerektirmeyen hızlı değişiklikler
- Deneysel çalışmaları karşılaştırmak için referans noktası
- Değişikliklerin doğrudan ana dala gitmesini istediğinizde
- Paralel yürütmenin gerekmediği basit görevler
Workspace
Workspace, git worktree'leri kullanılarak oluşturulan, kendi bağımsız dal checkout'u ve dosya durumuna sahip izole bir çalışma ortamıdır.
Workspace ne zaman kullanılır:
- Paralel özellik geliştirme
- Riskli değişiklikleri denerken
- Aynı anda birden fazla görev üzerinde çalışırken
- Rebase'den önce izolasyon istediğinizde
Çalışma alanları oluşturma ve yönetme
Yeni bir çalışma alanı oluşturma
| Platform | Kısayol |
|---|---|
| macOS | Cmd+Shift+N |
| Windows | Ctrl+Shift+N |
Neler olur:
- Verdent izole bir git worktree dizini oluşturur
- Yeni bir dal oluşturulur (veya mevcut dal checkout edilir)
- Çalışma alanı diğer çalışma alanlarından tamamen izole edilir
- Çalışma alanı üst çubuktaki All Workspaces içinde görünür
Çalışma alanları arasında geçiş
| Eylem | macOS | Windows |
|---|---|---|
| Sonraki çalışma alanı | Ctrl+Tab | Ctrl+Tab |
| Önceki çalışma alanı | Ctrl+Shift+Tab | Ctrl+Shift+Tab |
| Çalışma alanı seç | Üst çubuktaki All Workspaces öğesine tıklayın | Üst çubuktaki All Workspaces öğesine tıklayın |
Durum koruması:
- Verdent tüm çalışma alanı durumlarını canlı tutar
- Kurulum gecikmesi olmadan anında geçiş yapın
- Geçiş sırasında tam bağlam korunur
Çalışma alanı değişikliklerini rebase etme
Çalışma alanı değişikliklerini ana dala geri entegre etmeye hazır olduğunuzda:
Verdent arayüzünü kullanma
Çalışmayı tamamlayın
Çalışma alanındaki işi tamamlayın
Değişiklikleri inceleyin
Tüm değişiklikleri incelemek için orta paneldeki Task Changes öğesine tıklayın
Ana dala rebase edin
Workspace Bar'da Workspace Actions → Rebase to main branch öğesine tıklayın
Çakışmaları çözün
İstendiğinde varsa çakışmaları çözün
Doğrulayın
Onaylamadan önce değişiklikleri gözden geçirin
Çalışma alanlarını güncel tutma
Ana daldaki en son değişiklikleri çalışma alanınıza çekmek için Workspace Actions → Sync with main branch öğesini kullanın. Bu, rebase sırasında büyük çakışmaları önlemeye yardımcı olur.
En iyi uygulamalar
Adlandırma kuralları
| Uygulama | Örnek |
|---|---|
| Açıklayıcı adlar | feature-auth, bugfix-123, experiment-caching |
| Bilet numaralarını ekleyin | JIRA-456-user-login |
| Adları kısa tutun | Aşırı uzun adlardan kaçının |
Çalışma alanı bakımı
| Uygulama | Neden |
|---|---|
| Rebase edilmiş çalışma alanlarını silin | Disk alanı boşaltın |
| Terk edilmiş deneyleri kaldırın | Çalışma alanı listesini yönetilebilir tutun |
| Çalışma alanı sayısını makul tutun | Sistem kaynakları sınırlıdır |
Git hijyeni
| Uygulama | Neden |
|---|---|
| Sık commit yapın | Geçiş yapmadan önce devam eden işi commit edin |
| Küçük commitler | Daha küçük commitler cherry-pick yapmayı kolaylaştırır |
| Base ile düzenli senkronize edin | Çalışma alanlarının ana daldan çok uzaklaşmasına izin vermeyin |
| Çakışma karmaşıklığını azaltın | Düzenli entegrasyon büyük çakışmaları önler |
SSS
Her çalışma alanı ne kadar disk alanı kullanır?
Her çalışma alanı çalışma dosyalarını çoğaltır ancak .git dizinini paylaşır. Alan kullanımı kabaca çalışma alanı başına proje boyutunuza eşittir. Çok sayıda paralel çalışma alanına sahip büyük projeler önemli miktarda disk alanı kullanır.
Bir çalışma alanını silebilir miyim?
Evet. Çalışma alanını Verdent üzerinden silin. Bu, dizini kaldırır ancak dalda commit edilmiş işleri korur.
Bir çalışma alanını silersem commit edilmemiş değişikliklere ne olur?
Bir çalışma alanı silindiğinde commit edilmemiş değişiklikler kaybolur. Bir çalışma alanını kaldırmadan önce değişiklikleri her zaman commit edin veya stash'leyin.
Bir çalışma alanını base çalışma alanına dönüştürebilir miyim?
Doğrudan dönüştürme yoktur, ancak çalışma alanındaki tüm değişiklikleri ana dala rebase edip ardından çalışma alanını silebilirsiniz. Dal geçmişi korunur.
Worktree'ler tüm git barındırma hizmetleriyle çalışır mı?
Evet. Git worktree'leri standart bir git özelliğidir. GitHub, GitLab, Bitbucket ve diğer tüm git barındırma hizmetleriyle çalışır.