> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Git entegrasyonu

Git entegrasyonu şu anda yalnızca [ayaka-notes/overleaf](https://github.com/ayaka-notes/overleaf) üzerinde mevcuttur.

<Info>
  Bu özellik başlangıçta [ayaka-notes/overleaf-pro](https://github.com/ayaka-notes/overleaf-pro) tarafından geliştirilmiştir.
</Info>

<Steps>
  <Step title="git-bridge'i etkinleştirin (Yalnızca Toolkit kullanıcıları için)">
    Toolkit kullanıyorsanız `config/overleaf.rc` dosyanızda aşağıdakini ayarlayarak `git-bridge`'i etkinleştirin:

    ```text title="config/overleaf.rc" theme={null}
    GIT_BRIDGE_ENABLED=true
    ```
  </Step>

  <Step title="git-bridge konteynerini ekleyin (Yalnızca Docker-compose kullanıcıları için)">
    Özel bir `docker-compose.yml` çalıştıran kullanıcılar, aşağıdaki konteyner yapılandırmasını compose dosyalarına eklemelidir:

    ```yaml title="docker-compose.yml (git-bridge service)" wrap theme={null}
    git-bridge:
        restart: always
        image: ghcr.io/ayaka-notes/overleaf-pro/git-bridge:6.3.0 # tag should match the `sharelatex` container tag
        volumes:
            - ~/git_bridge_data:/data/git-bridge
        container_name: git-bridge
        expose:
            - "8000"
        environment:
            GIT_BRIDGE_API_BASE_URL: "http://sharelatex:3000/api/v0/" 
            # "http://sharelatex/api/v0/" for version 4.1.6 and earlier
            GIT_BRIDGE_OAUTH2_SERVER: "http://sharelatex"
            GIT_BRIDGE_POSTBACK_BASE_URL: "http://git-bridge:8000"
            GIT_BRIDGE_ROOT_DIR: "/data/git-bridge"
        user: root
        command: ["/server-pro-start.sh"]
    ```
  </Step>

  <Step title="sharelatex konteyner yapılandırmasını güncelleyin">
    Ayrıca `git-bridge` konteynerini `sharelatex` konteynerine bağlamanız ve aşağıdaki ortam değişkenlerini tanımlamanız gerekir; lütfen `V1_HISTORY_URL` değişkenine dikkat edin:

    ```yaml title="docker-compose.yml (sharelatex service)" theme={null}
    sharelatex:
        links:
            - git-bridge
        environment:
             GIT_BRIDGE_ENABLED: true
             GIT_BRIDGE_HOST: "git-bridge"
             GIT_BRIDGE_PORT: "8000"
             # We use v1 now, if you used to set V1_HISTORY_URL, please update now
             V1_HISTORY_URL: "http://sharelatex:3100/api"
    ```
  </Step>

  <Step title="Kimlik doğrulama">
    Bir git istemcisinin kimliğini doğrularken kullanıcıların bir Kişisel Erişim Belirtecine (Personal Access Token) ihtiyacı vardır. Kullanıcılar Kişisel Erişim Belirteçlerini uygulama arayüzü üzerinden yönetebilir (belgelere bakın):

    <Frame caption="Git Entegrasyonu Kişisel Erişim Belirteci">
      <img src="https://mintcdn.com/ayakaleaf-pro/x9kfDjtWlyyhG_mR/images/on-premises/image-28.png?fit=max&auto=format&n=x9kfDjtWlyyhG_mR&q=85&s=08935524562eec75d1fcd20d14791f9a" alt="" width="1374" height="869" data-path="images/on-premises/image-28.png" />
    </Frame>
  </Step>

  <Step title="İzleme ve kaynak hususları">
    `git-bridge`'i etkinleştirdikten sonra ana makine kaynaklarınızı izlemenizi öneririz. Yük artışı şunlara bağlı olacaktır:

    * özelliğe erişen kullanıcı sayısı
    * kurulumunuzda barındırılan projelerin türleri (daha büyük projeler genellikle daha fazla kaynak tüketir)
  </Step>
</Steps>

### Projeleri S3'e taşıma (swap)

Git entegrasyonu, bir kullanıcı tarafından klonlanan her proje için diskte eksiksiz bir git deposu depolar. Disk alanınız sınırlıysa, daha az kullanılan depoları AWS S3'e taşıyacak bir swap işini etkinleştirebilirsiniz. Taşınmış bir depoya yeniden ihtiyaç duyulursa diske geri taşınır. Aşağıdaki ortam değişkenleri swap işini kontrol eder:

| Ad | Açıklama |
| - | - |
| `GIT_BRIDGE_SWAPSTORE_TYPE` | Swap işini etkinleştirmek için bunu "s3" olarak ayarlayın. |
| `GIT_BRIDGE_SWAPSTORE_AWS_ACCESS_KEY` | AWS erişim anahtarınız |
| `GIT_BRIDGE_SWAPSTORE_AWS_SECRET` | AWS gizli anahtarınız |
| `GIT_BRIDGE_SWAPSTORE_S3_BUCKET_NAME` | Bu bucket, sıkıştırılmış (zip) git depolarını içerecektir |
| `GIT_BRIDGE_SWAPSTORE_AWS_REGION` | Bucket'ın bölgesi |
| `GIT_BRIDGE_SWAPJOB_MIN_PROJECTS` | <p>Diskte en az kaç proje tutulacağı.<br /><br /><strong>- Varsayılan:</strong> 50</p> |
| `GIT_BRIDGE_SWAPJOB_LOW_GIB` | <p>Swap için alt eşik değeri. Swap işi, disk kullanımı bu değerin altına inene kadar projeleri taşır.<br /><br /><strong>- Varsayılan:</strong> 128 GB</p> |
| `GIT_BRIDGE_SWAPJOB_HIGH_GIB` | <p>Swap için üst eşik değeri. Swap işi, disk kullanımı bu değere ulaştığında taşımaya başlar.<br /><br /><strong>- Varsayılan:</strong> 256 GB</p> |
| `GIT_BRIDGE_SWAPJOB_INTERVAL_MILLIS` | <p>Disk kullanımının kontrol edilmesi ve swap işinin çalıştırılması arasındaki süre.<br /><br /><strong>- Varsayılan:</strong> 3600000 ms = 1 saat</p> |

### S\&C

<Accordion title="Projemi başka biriyle paylaşırsam Git Bridge izin modeli nasıl çalışır?">
  Salt okunur erişime sahip kullanıcılar bu projeyi yalnızca klonlayabilir; okuma-yazma erişimine sahip kullanıcılar projeleri klonlayabilir ve push edebilir. Not: Kullanıcıların bu projeye katılmak için oturum açmış olması gerekir.
</Accordion>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.