---
title: Sürüm kontrolü entegrasyonu
description: Git ve diğer sürüm kontrol sistemleriyle çalışma
---

Verdent for VS Code, Git ve diğer sürüm kontrol sistemleriyle sorunsuz biçimde entegre olur; doğal dilde sürüm kontrolü işlemleri, otomatik commit mesajı oluşturma ve akıllı dal yönetimi sağlar. Bu kılavuz, verimli sürüm kontrolü iş akışları için Verdent'in Git entegrasyonundan nasıl yararlanacağınızı gösterir.

---

## Anlamlı commit mesajları oluşturma

Diyelim ki değişiklikler yaptınız ve Verdent'in açıklayıcı bir commit mesajı oluşturmasını istiyorsunuz.

<Steps>
  <Step title="Oluşturulan mesajla commit isteme">
    ```
    Stage all changes and create a commit with an appropriate message
    ```

    Verdent değişikliklerinizi git diff kullanarak analiz eder.
  </Step>

  <Step title="Verdent değişiklikleri analiz eder">
    Verdent şunları inceler:
    - Değiştirilen dosyalar ve amaçları
    - Değişikliklerin niteliği (yeni özellik, hata düzeltmesi, yeniden düzenleme)
    - Etki kapsamı
    - İlgili işlevsellik
  </Step>

  <Step title="Açıklayıcı bir commit mesajı oluşturur">
    ```bash
    git commit -m "feat: add user profile image upload with S3 integration

    - Add file upload endpoint to user API
    - Integrate AWS S3 for image storage
    - Update user model with profileImage field
    - Add frontend image upload component with preview"
    ```

    Mesaj, conventional commit biçimini takip eder ve neyin değiştiğini açıklar.
  </Step>

  <Step title="Commit oluşturulur">
    Değişiklikler, oluşturulan mesajla commit edilir. Commit'i inceleyebilirsiniz:

    ```bash
    git log -1
    ```
  </Step>
</Steps>

<Tip>
  **İpuçları:**
  - Verdent conventional commit biçimlerini takip eder (feat, fix, refactor, docs vb.)
  - Commit mesajları "nasıl" değil, "ne" ve "neden" üzerine odaklanır
  - Commit mesajı biçimini User Rules veya Project Rules içinde özelleştirebilirsiniz
  - Belirli commit mesajı stilleri isteyin: "Ayrıntılı, çok satırlı bir mesajla commit oluştur"
</Tip>

***

## Commit mesajı biçimlerini özelleştirme

Diyelim ki Verdent'in ekibinizin belirli commit mesajı kurallarına uymasını istiyorsunuz.

<Tabs>
  <Tab title="User Rules (Genel)">
    Tüm projeler için commit mesajı tercihlerini `VERDENT.md` içinde tanımlayın:

    ```markdown
    # VERDENT.md

    ## Git Commit Messages

    When generating commit messages:
    - Always include ticket number in format: [PROJ-123]
    - Use present tense verbs
    - Maximum 50 characters for first line
    - Include detailed explanation in body
    - Add "Co-authored-by" for pair programming sessions

    Example format:
    [PROJ-123] Add user authentication feature

    Detailed explanation of changes...

    Co-authored-by: Team Member <email@example.com>
    ```

    Verdent bu kuralları genel olarak takip eder.
  </Tab>

  <Tab title="Project Rules">
    Projeye özgü commit kurallarını `AGENTS.md` içinde tanımlayın:

    ```markdown
    # AGENTS.md

    ## Git Commit Conventions

    For this project, use conventional commits with these scopes:
    - feat(api): API changes
    - feat(ui): Frontend changes
    - fix(auth): Authentication fixes
    - docs(readme): Documentation updates

    Always reference GitHub issue: "Fixes #123" or "Relates to #456"
    ```

    Kurallar yalnızca bu projeye uygulanır.
  </Tab>

  <Tab title="Satır içi talimatlar">
    Doğrudan tek seferlik talimatlar verin:

    ```
    Create a commit with message format: "[TICKET-NUMBER] description" including reference to issue #42
    ```

    Verdent şunu oluşturur:
    ```bash
    git commit -m "[PROJ-42] Add search functionality

    Relates to #42"
    ```
  </Tab>
</Tabs>

<Tip>
  **İpuçları:**
  - User Rules tüm projelerde genel olarak geçerlidir
  - Project Rules (AGENTS.md) belirli projeler için User Rules'u geçersiz kılar
  - Satır içi talimatlar, tek seferlik ihtiyaçlar için her ikisini de geçersiz kılar
  - Tutarlılık için Conventional Commits biçimi önerilir
</Tip>

***

## Pull request oluşturma

Diyelim ki Verdent'in kapsamlı bir pull request oluşturmasını istiyorsunuz.

<Steps>
  <Step title="Değişikliklerin commit edildiğinden emin olun">
    ```
    Make sure all my changes are committed
    ```

    Verdent git durumunu kontrol eder ve commit edilmemiş tüm değişiklikleri commit eder.
  </Step>

  <Step title="Dalı uzak depoya gönderme">
    ```
    Push this branch to origin
    ```

    Verdent şunu gönderir:
    ```bash
    git push origin feature/user-notifications
    ```
  </Step>

  <Step title="PR oluşturma isteme">
    ```
    Create a pull request for this feature
    ```

    Verdent, PR oluşturmak için `gh` CLI kullanır.
  </Step>

  <Step title="Verdent PR açıklaması oluşturur">
    Verdent commit'leri ve değişiklikleri analiz ederek şunları oluşturur:

    **Başlık:** Kullanıcı bildirim sistemi ekle

    **Gövde:**
    ```markdown
    ## Summary
    - Implements real-time user notifications
    - Adds WebSocket support for instant delivery
    - Includes email fallback for offline users
    - Comprehensive test coverage

    ## Test Plan
    - [ ] Test real-time notifications in browser
    - [ ] Verify email fallback for offline users
    - [ ] Check notification persistence across sessions
    - [ ] Test with multiple concurrent users

    ## Changes
    - Added NotificationService with WebSocket integration
    - Created notification UI components
    - Integrated SendGrid for email notifications
    - Added notification preferences to user settings
    ```

    PR, kapsamlı bir açıklamayla oluşturulur.
  </Step>
</Steps>

<Tip>
  **İpuçları:**
  - Verdent PR açıklaması oluşturmak için daldaki tüm commit'leri analiz eder
  - Belirli PR biçimleri isteyin: "Ayrıntılı bir test planı içeren bir PR oluştur"
  - Ekran görüntüleri ekleyin: "Bu ekran görüntüsünü PR açıklamasına ekle"
  - Oluşturmadan önce PR açıklamasını iyileştirebilirsiniz: "PR'ı, kırıcı değişiklikten bahsedecek şekilde güncelle"
</Tip>

***

## Birleştirme çakışmalarını çözme

Diyelim ki birleştirme çakışmalarıyla karşılaştınız ve bunları çözmek için Verdent'in yardımına ihtiyacınız var.

<Steps>
  <Step title="Birleştirmeyi deneyin">
    ```
    Merge main into this feature branch
    ```

    Birleştirme çakışması oluşur:
    ```bash
    Auto-merging src/auth.ts
    CONFLICT (content): Merge conflict in src/auth.ts
    ```
  </Step>

  <Step title="Çakışma çözümü isteme">
    ```
    Help me resolve the merge conflict in src/auth.ts
    ```

    Verdent çakışma işaretlerini okur.
  </Step>

  <Step title="Verdent her iki sürümü de analiz eder">
    Verdent şunları inceler:
    - Geçerli dal değişiklikleri (HEAD)
    - Gelen değişiklikler (main dalı)
    - Çakışmaların çevresindeki bağlam
    - Her iki değişikliğin amacı
  </Step>

  <Step title="Verdent çözüm önerir">
    ```
    The conflict is between your JWT implementation and the main branch's session-based auth. I'll merge both approaches to support both authentication methods.
    ```

    Verdent her iki değişikliği akıllıca birleştirerek çakışmayı çözer.
  </Step>

  <Step title="Çakışmayı çözüldü olarak işaretleyin">
    ```bash
    git add src/auth.ts
    git commit -m "Merge main into feature/jwt-auth, resolved conflicts"
    ```

    Çakışma çözülür ve birleştirme tamamlanır.
  </Step>
</Steps>

<Tip>
  **İpuçları:**
  - Verdent çakışmaları akıllıca çözmek için kod bağlamını anlar
  - Commit etmeden önce çakışma çözümlerini her zaman inceleyin
  - Karmaşık çakışmalar için önce Verdent'den her iki sürümü açıklamasını isteyin
  - Çakışmaları çözdükten sonra kapsamlı şekilde test edin
</Tip>

<Tip>
Verdent her iki dalın amacını anlayarak birleştirme çakışmalarını analiz eder ve her iki taraftaki işlevselliği koruyan çözümler önerir.
</Tip>

***

## Dalları ve etiketleri yönetme

Diyelim ki dalları yönetmeniz ve sürüm etiketleri oluşturmanız gerekiyor.

<Tabs>
  <Tab title="Dal işlemleri">
    **Dal oluşturma ve değiştirme:**

    ```
    Create a new branch called feature/user-notifications
    ```

    Verdent şunu çalıştırır:

    <CodeGroup>
    ```bash "Create New Branch"
    git checkout -b feature/user-notifications
    ```

    ```bash "Switch to Existing Branch"
    git checkout main
    ```

    ```bash "Create and Push Branch"
    git checkout -b feature/payment-integration
    git push -u origin feature/payment-integration
    ```
    </CodeGroup>
  </Tab>

  <Tab title="Birleştirme">
    **Özellik dallarını birleştirme:**

    ```
    Merge the feature/user-notifications branch into main
    ```

    Verdent birleştirme iş akışını gerçekleştirir:
    ```bash
    git checkout main
    git pull origin main
    git merge feature/user-notifications
    git push origin main
    ```

    Verdent birleştirmeden önce main'in güncel olduğundan emin olur.
  </Tab>

  <Tab title="Sürümleri etiketleme">
    **Açıklamalı etiketler oluşturma:**

    ```
    Create an annotated tag for version 1.2.0 with release notes
    ```

    Verdent ayrıntılı etiket oluşturur:
    ```bash
    git tag -a v1.2.0 -m "Release 1.2.0

    New Features:
    - User notification system
    - Email integration
    - Real-time WebSocket support

    Bug Fixes:
    - Fixed authentication timeout issue
    - Resolved cart calculation bug"
    ```

    **Etiketleri gönderme:**

    ```
    Push all tags to origin
    ```

    Verdent şunu gönderir:
    ```bash
    git push origin --tags
    ```
  </Tab>
</Tabs>

<Tip>
  **İpuçları:**
  - Açıklayıcı dal adları kullanın: `feature/user-auth`, `fix/cart-bug`, `refactor/api-layer`
  - Birleştirmeden önce her zaman en son değişiklikleri çekin
  - Sürümler için açıklamalı etiketler kullanın (meta veri içerirler)
  - Anlamsal sürümlemeyi takip edin: v1.2.3 (major.minor.patch)
</Tip>

<Tip>
Tutarlı dal adlandırma kuralları, Verdent'in iş akışınızı anlamasına yardımcı olur. Otomatik uyum için kalıpları AGENTS.md içinde tanımlayın.
</Tip>

***

## Sık sorulan sorular

<Accordion title="Verdent değişikliklerimi otomatik olarak commit eder mi?">
Hayır. Verdent yalnızca açıkça istediğinizde commit oluşturur. Değişikliklerin ne zaman commit edileceği konusunda tam kontrol sizdedir. Hazır olduğunuzda yalnızca "Tüm değişiklikleri stage'le ve bir commit oluştur" diye sorun.
</Accordion>

<Accordion title="Commit etmeden önce commit mesajını düzenleyebilir miyim?">
Evet. Commit oluşturulmadan önce Verdent'den commit mesajını gözden geçirmesini isteyebilirsiniz. "Commit mesajını kırıcı değişiklikten bahsedecek şekilde güncelle" veya "O commit mesajını daha öz hale getir" diyebilirsiniz. Verdent geri bildiriminize göre mesajı yeniden oluşturur.
</Accordion>

<Accordion title="Verdent, GitHub, GitLab, Bitbucket ve diğer Git platformlarıyla çalışır mı?">
Evet. Verdent standart Git komutlarını kullanır, bu nedenle barındırma platformundan bağımsız olarak herhangi bir Git deposuyla çalışır. Pull request oluşturmak için Verdent, GitHub gerektiren `gh` CLI kullanır, ancak diğer tüm Git işlemleri evrensel olarak çalışır.
</Accordion>

<Accordion title="Verdent sormadan uzak depolara push yapar mı?">
Hayır. Verdent yalnızca açıkça istediğinizde uzak depolara push yapar. Tüm Git işlemleri (commit, push, merge, rebase) güvenlik için açık talimatınızı gerektirir.
</Accordion>

<Accordion title="Verdent her tür birleştirme çakışmasını çözebilir mi?">
Verdent kod bağlamını ve amacını anlayarak metin tabanlı çoğu birleştirme çakışmasını çözebilir. İkili dosya çakışmaları veya çok karmaşık çok yönlü çakışmalar manuel müdahale gerektirebilir. Commit etmeden önce Verdent'in çakışma çözümünü her zaman inceleyin.
</Accordion>

***

## Ayrıca bakınız

<CardGroup cols={2}>
  <Card title="Çok adımlı görev örnekleri" icon="list-check" href="/docs/verdent-for-vscode/common-workflows/multi-step-tasks">
    Karmaşık çok adımlı iş akışları ve görev yönetimi
  </Card>

  <Card title="Yeni kod yazma" icon="code" href="/docs/verdent-for-vscode/task-based-guides/writing-code">
    Verdent ile yeni özellikler ve bileşenler oluşturma
  </Card>
</CardGroup>
