Verdent Docs
Gelişmiş özellikler

Ç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

KatmanNasıl çalışır
DizinHer çalışma alanı izole bir dizindir
DalHer çalışma alanının kendi dal checkout'u vardır
DosyalarBir ç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.

ÖzellikAçıklama
KonumOrijinal git clone veya init konumunuz
Birincil dalGenellikle 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

PlatformKısayol
macOSCmd+Shift+N
WindowsCtrl+Shift+N

Neler olur:

  1. Verdent izole bir git worktree dizini oluşturur
  2. Yeni bir dal oluşturulur (veya mevcut dal checkout edilir)
  3. Çalışma alanı diğer çalışma alanlarından tamamen izole edilir
  4. Çalışma alanı üst çubuktaki All Workspaces içinde görünür

Çalışma alanları arasında geçiş

EylemmacOSWindows
Sonraki çalışma alanıCtrl+TabCtrl+Tab
Önceki çalışma alanıCtrl+Shift+TabCtrl+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ı adlarfeature-auth, bugfix-123, experiment-caching
Bilet numaralarını ekleyinJIRA-456-user-login
Adları kısa tutunAşırı uzun adlardan kaçının

Çalışma alanı bakımı

UygulamaNeden
Rebase edilmiş çalışma alanlarını silinDisk alanı boşaltın
Terk edilmiş deneyleri kaldırınÇalışma alanı listesini yönetilebilir tutun
Çalışma alanı sayısını makul tutunSistem kaynakları sınırlıdır

Git hijyeni

UygulamaNeden
Sık commit yapınGeçiş yapmadan önce devam eden işi commit edin
Küçük commitlerDaha 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ınDü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.