---
title: Çalışma alanı izolasyonu
description: "Ç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

<CardGroup cols={2}>
  <Card title="Sıfır müdahale" icon="shield-halved">
    Paralel aracılar çakışamaz, bu fiziksel olarak imkansızdır
  </Card>
  <Card title="Güvenli deneme" icon="flask">
    Kararlı kodu etkilemeden riskli değişiklikler deneyin
  </Card>
  <Card title="Net karşılaştırma" icon="code-compare">
    Çalışma alanları arasındaki yaklaşımları karşılaştırmak için git diff kullanın
  </Card>
  <Card title="Seçici rebase" icon="code-merge">
    Yalnızca güvendiğiniz sonuçları rebase edin
  </Card>
</CardGroup>

---

## 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:**
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ş

| 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

<Steps>
  <Step title="Çalışmayı tamamlayın">
    Çalışma alanındaki işi tamamlayın
  </Step>
  <Step title="Değişiklikleri inceleyin">
    Tüm değişiklikleri incelemek için orta paneldeki **Task Changes** öğesine tıklayın
  </Step>
  <Step title="Ana dala rebase edin">
    Workspace Bar'da **Workspace Actions → Rebase to main branch** öğesine tıklayın
  </Step>
  <Step title="Çakışmaları çözün">
    İstendiğinde varsa çakışmaları çözün
  </Step>
  <Step title="Doğrulayın">
    Onaylamadan önce değişiklikleri gözden geçirin
  </Step>
</Steps>

### Ç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

<AccordionGroup>
<Accordion title="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.
</Accordion>

<Accordion title="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.
</Accordion>

<Accordion title="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.
</Accordion>

<Accordion title="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.
</Accordion>

<Accordion title="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.
</Accordion>
</AccordionGroup>
