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

# Integracja z Git

Integracja z Git jest obecnie dostępna wyłącznie w [ayaka-notes/overleaf](https://github.com/ayaka-notes/overleaf).

<Info>
  Ta funkcja została pierwotnie opracowana przez [ayaka-notes/overleaf-pro](https://github.com/ayaka-notes/overleaf-pro).
</Info>

<Steps>
  <Step title="Włącz git-bridge (tylko dla użytkowników Toolkit)">
    Jeśli używasz Toolkit, włącz `git-bridge`, ustawiając w pliku `config/overleaf.rc`:

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

  <Step title="Dodaj kontener git-bridge (tylko dla użytkowników Docker Compose)">
    Jeśli używasz własnego pliku `docker-compose.yml`, dodaj do niego następującą konfigurację kontenera:

    ```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="Zaktualizuj konfigurację kontenera sharelatex">
    Musisz również powiązać kontener `git-bridge` z kontenerem `sharelatex` i zdefiniować poniższe zmienne środowiskowe. Zwróć szczególną uwagę na `V1_HISTORY_URL`:

    ```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="Uwierzytelnianie">
    Do uwierzytelnienia klienta git użytkownicy potrzebują osobistego tokenu dostępu (Personal Access Token). Użytkownicy mogą zarządzać osobistymi tokenami dostępu w interfejsie aplikacji (zobacz dokumentację):

    <Frame caption="Osobisty token dostępu dla integracji z Git">
      <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="Monitorowanie i zasoby">
    Po włączeniu `git-bridge` zalecamy monitorowanie zasobów hosta. Wzrost obciążenia będzie zależał od:

    * liczby użytkowników korzystających z tej funkcji
    * rodzajów projektów hostowanych w Twojej instancji (większe projekty zazwyczaj wymagają więcej zasobów)
  </Step>
</Steps>

### Przenoszenie projektów do S3

Integracja z Git przechowuje na dysku kompletne repozytorium git dla każdego projektu sklonowanego przez użytkownika. Jeśli masz ograniczoną przestrzeń dyskową, możesz aktywować zadanie wymiany (swap), które przeniesie rzadziej używane repozytoria do AWS S3. Gdy przeniesione repozytorium będzie ponownie potrzebne, zostanie przywrócone na dysk. Zadanie wymiany kontrolują następujące zmienne środowiskowe:

| Nazwa | Opis |
| - | - |
| `GIT_BRIDGE_SWAPSTORE_TYPE` | Ustaw na "s3", aby aktywować zadanie wymiany. |
| `GIT_BRIDGE_SWAPSTORE_AWS_ACCESS_KEY` | Twój klucz dostępu AWS |
| `GIT_BRIDGE_SWAPSTORE_AWS_SECRET` | Twój sekret AWS |
| `GIT_BRIDGE_SWAPSTORE_S3_BUCKET_NAME` | Ten bucket będzie zawierał spakowane repozytoria git |
| `GIT_BRIDGE_SWAPSTORE_AWS_REGION` | Region bucketu |
| `GIT_BRIDGE_SWAPJOB_MIN_PROJECTS` | <p>Minimalna liczba projektów przechowywanych na dysku.<br /><br /><strong>- Domyślnie:</strong> 50</p> |
| `GIT_BRIDGE_SWAPJOB_LOW_GIB` | <p>Dolny próg wymiany. Zadanie wymiany będzie przenosić projekty, dopóki zajętość dysku nie spadnie poniżej tej wartości.<br /><br /><strong>- Domyślnie:</strong> 128 GB</p> |
| `GIT_BRIDGE_SWAPJOB_HIGH_GIB` | <p>Górny próg wymiany. Zadanie wymiany rozpocznie przenoszenie, gdy zajętość dysku osiągnie tę wartość.<br /><br /><strong>- Domyślnie:</strong> 256 GB</p> |
| `GIT_BRIDGE_SWAPJOB_INTERVAL_MILLIS` | <p>Odstęp czasu między sprawdzeniem zajętości dysku a uruchomieniem zadania wymiany.<br /><br /><strong>- Domyślnie:</strong> 3600000 ms = 1 godzina</p> |

### Pytania i odpowiedzi

<Accordion title="Jak działa model uprawnień Git Bridge, jeśli udostępnię projekt komuś innemu?">
  Użytkownicy z dostępem tylko do odczytu mogą jedynie klonować projekt; użytkownicy z dostępem do odczytu i zapisu mogą klonować projekty i wypychać do nich zmiany. Uwaga: aby dołączyć do projektu, użytkownicy muszą być zalogowani.
</Accordion>


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