> For the complete documentation index, see [llms.txt](https://ayakaleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ayakaleaf-pro.ayaka.space/on-premises/pl/konfiguracja/overleaf-toolkit/git-integration.md).

# integracji Git

Integracja z Gitem jest dostępna tylko w [ayaka-notes/overleaf](https://github.com/ayaka-notes/overleaf) obecnie.

{% hint style="info" %}
Ta funkcja została początkowo opracowana przez [ayaka-notes/overleaf-pro](https://github.com/ayaka-notes/overleaf-pro).
{% endhint %}

{% stepper %}
{% step %}

### Włącz git-bridge (tylko dla użytkowników Toolkit)

Jeśli korzystasz z Toolkit, włącz `git-bridge` ustawiając poniższe w swoim `config/overleaf.rc`:

{% code title="config/overleaf.rc" %}

```
GIT_BRIDGE_ENABLED=true
```

{% endcode %}
{% endstep %}

{% step %}

### Dodaj kontener git-bridge (tylko dla użytkowników Docker Compose)

Dla użytkowników uruchamiających niestandardowy `docker-compose.yml`, dodaj następującą konfigurację kontenera do pliku compose:

{% code title="docker-compose.yml (usługa git-bridge)" overflow="wrap" %}

```yaml
git-bridge:
    restart: always
    image: quay.io/sharelatex/git-bridge:4.0.0 # tag powinien odpowiadać tagowi kontenera `sharelatex`
    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/" dla wersji 4.1.6 i wcześniejszych
        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"]
```

{% endcode %}
{% endstep %}

{% step %}

### Zaktualizuj konfigurację kontenera sharelatex

Będziesz też musiał połączyć `git-bridge` kontener w `sharelatex` kontener i zdefiniować następujące zmienne środowiskowe, zwróć proszę uwagę na `V1_HISTORY_URL`:

<pre class="language-yaml" data-title="docker-compose.yml (usługa sharelatex)"><code class="lang-yaml">sharelatex:
    links:
        - git-bridge
    environment:
         GIT_BRIDGE_ENABLED: true
         GIT_BRIDGE_HOST: "git-bridge"
         GIT_BRIDGE_PORT: "8000"
<strong>         # Używamy teraz v1; jeśli wcześniej ustawiałeś V1_HISTORY_URL, zaktualizuj to teraz
</strong><strong>         V1_HISTORY_URL: "http://sharelatex:3054"
</strong></code></pre>

{% endstep %}

{% step %}

### Uwierzytelnianie

Podczas uwierzytelniania klienta git użytkownicy potrzebują osobistego tokenu dostępu. Użytkownicy mogą zarządzać osobistymi tokenami dostępu przez interfejs aplikacji (zobacz dokumentację):

<figure><img src="/files/620e6198701a08dad64faf096d2cf6167ad52255" alt=""><figcaption><p>Osobisty token dostępu do integracji z Gitem</p></figcaption></figure>
{% endstep %}

{% step %}

### Monitorowanie i kwestie zasobów

Zalecamy monitorowanie zasobów hosta po włączeniu `git-bridge`. Wzrost obciążenia będzie zależeć od:

* liczby użytkowników korzystających z tej funkcji
* typów projektów hostowanych w Twojej instancji (większe projekty zwykle wymagają więcej zasobów)
  {% endstep %}
  {% endstepper %}

### Przenoszenie projektów do S3

Integracja z Gitem przechowuje pełne repozytorium git na dysku dla każdego projektu, który zostanie sklonowany przez użytkownika. Jeśli masz ograniczoną ilość miejsca na dysku, możesz uruchomić zadanie przenoszenia, które przeniesie rzadziej używane repozytoria do AWS S3. Jeśli przeniesione repozytorium będzie ponownie potrzebne, zostanie ono przeniesione z powrotem na dysk. Następujące zmienne środowiskowe kontrolują zadanie przenoszenia:

| Nazwa                                 | Opis                                                                                                                                                                          |
| ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `GIT_BRIDGE_SWAPSTORE_TYPE`           | Ustaw to na "s3", aby aktywować zadanie przenoszenia.                                                                                                                         |
| `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 bucketa                                                                                                                                                                |
| `GIT_BRIDGE_SWAPJOB_MIN_PROJECTS`     | <p>Minimalna liczba projektów, które mają pozostać na dysku.<br><br><strong>- Domyślnie:</strong> 50</p>                                                                      |
| `GIT_BRIDGE_SWAPJOB_LOW_GIB`          | <p>Dolny próg dla przenoszenia. Zadanie przenoszenia będzie przenosić projekty, aż użycie dysku 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 dla przenoszenia. Zadanie przenoszenia rozpocznie przenoszenie, gdy użycie dysku osiągnie tę wartość.<br><br><strong>- Domyślnie:</strong> 256 GB</p>           |
| `GIT_BRIDGE_SWAPJOB_INTERVAL_MILLIS`  | <p>Czas między sprawdzaniem użycia dysku a uruchamianiem zadania przenoszenia.<br><br><strong>- Domyślnie:</strong> 3600000 ms = 1 godzina</p>                                |

### Pytania i odpowiedzi

<details>

<summary>Jeśli udostępnię mój projekt komuś innemu, jak działa model uprawnień Git Bridge?</summary>

Użytkownicy z dostępem tylko do odczytu mogą jedynie sklonować ten projekt; użytkownicy z dostępem do odczytu i zapisu mogą klonować i wypychać projekty. Uwaga: użytkownicy muszą być zalogowani, aby dołączyć do tego projektu.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://ayakaleaf-pro.ayaka.space/on-premises/pl/konfiguracja/overleaf-toolkit/git-integration.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
