> For the complete documentation index, see [llms.txt](https://overleaf-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://overleaf-pro.ayaka.space/on-premises/de/konfiguration/overleaf-toolkit/git-integration.md).

# Git-Integration

Die Git-Integration ist nur verfügbar unter [ayaka-notes/overleaf](https://github.com/ayaka-notes/overleaf) derzeit.

{% hint style="info" %}
Diese Funktion wurde ursprünglich entwickelt von [ayaka-notes/overleaf-pro](https://github.com/ayaka-notes/overleaf-pro).
{% endhint %}

{% stepper %}
{% step %}

### Aktivieren Sie den git-bridge (nur für Toolkit-Benutzer)

Wenn Sie das Toolkit verwenden, aktivieren Sie die `git-bridge` indem Sie Folgendes in Ihrer `config/overleaf.rc`:

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

```
GIT_BRIDGE_ENABLED=true
```

{% endcode %}
{% endstep %}

{% step %}

### Fügen Sie den git-bridge-Container hinzu (nur für Docker-Compose-Benutzer)

Für Benutzer, die ein benutzerdefiniertes `docker-compose.yml`, fügen Sie die folgende Containerkonfiguration zu Ihrer Compose-Datei hinzu:

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

```yaml
git-bridge:
    restart: always
    image: quay.io/sharelatex/git-bridge:4.0.0 # Das Tag sollte mit dem Container-Tag von `sharelatex` übereinstimmen
    Volumes:
        - ~/git_bridge_data:/data/git-bridge
    container_name: git-bridge
    expose:
        - "8000"
    Umgebung:
        GIT_BRIDGE_API_BASE_URL: "http://sharelatex:3000/api/v0/" 
        # "http://sharelatex/api/v0/" für Version 4.1.6 und früher
        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 %}

### Aktualisieren Sie die Konfiguration des sharelatex-Containers

Sie müssen außerdem den `git-bridge` Container im `sharelatex` Container verknüpfen und die folgenden Umgebungsvariablen definieren; achten Sie bitte auf `V1_HISTORY_URL`:

<pre class="language-yaml" data-title="docker-compose.yml (sharelatex-Dienst)"><code class="lang-yaml">sharelatex:
    links:
        - git-bridge
    Umgebung:
         GIT_BRIDGE_ENABLED: true
         GIT_BRIDGE_HOST: "git-bridge"
         GIT_BRIDGE_PORT: "8000"
<strong>         # Wir verwenden jetzt v1. Wenn Sie zuvor V1_HISTORY_URL gesetzt haben, aktualisieren Sie das bitte jetzt
</strong><strong>         V1_HISTORY_URL: "http://sharelatex:3054"
</strong></code></pre>

{% endstep %}

{% step %}

### Authentifizierung

Beim Authentifizieren eines Git-Clients benötigen Benutzer einen Personal Access Token. Benutzer können Personal Access Tokens über die Anwendungsoberfläche verwalten (siehe die Dokumentation):

<figure><img src="/files/90cff952af7b3cc9280c2bf22ba38a2dbf4ba2dc" alt=""><figcaption><p>Persönlicher Access Token für die Git-Integration</p></figcaption></figure>
{% endstep %}

{% step %}

### Überwachung und Überlegungen zu Ressourcen

Wir empfehlen, die Ressourcen Ihres Hosts nach der Aktivierung der `git-bridge`. Der Lastanstieg hängt ab von:

* der Anzahl der Benutzer, die auf die Funktion zugreifen
* der Art der Projekte, die in Ihrer Instanz gehostet werden (größere Projekte sind im Allgemeinen ressourcenintensiver)
  {% endstep %}
  {% endstepper %}

### Projekte nach S3 auslagern

Die Git-Integration speichert für jedes Projekt, das von einem Benutzer geklont wird, ein vollständiges Git-Repository auf der Festplatte. Wenn Sie nur wenig Speicherplatz haben, können Sie einen Auslagerungsjob aktivieren, der weniger genutzte Repositories zu AWS S3 verschiebt. Wenn ein ausgelagertes Repository wieder benötigt wird, wird es zurück auf die Festplatte verschoben. Die folgenden Umgebungsvariablen steuern den Auslagerungsjob:

| Name                                  | Beschreibung                                                                                                                                                                                |
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `GIT_BRIDGE_SWAPSTORE_TYPE`           | Setzen Sie dies auf "s3", um den Auslagerungsjob zu aktivieren.                                                                                                                             |
| `GIT_BRIDGE_SWAPSTORE_AWS_ACCESS_KEY` | Ihr AWS-Zugriffsschlüssel                                                                                                                                                                   |
| `GIT_BRIDGE_SWAPSTORE_AWS_SECRET`     | Ihr AWS-Geheimnis                                                                                                                                                                           |
| `GIT_BRIDGE_SWAPSTORE_S3_BUCKET_NAME` | Dieser Bucket enthält die gezippten Git-Repositories                                                                                                                                        |
| `GIT_BRIDGE_SWAPSTORE_AWS_REGION`     | Die Region des Buckets                                                                                                                                                                      |
| `GIT_BRIDGE_SWAPJOB_MIN_PROJECTS`     | <p>Wie viele Projekte mindestens auf der Festplatte behalten werden sollen.<br><br><strong>- Standard:</strong> 50</p>                                                                      |
| `GIT_BRIDGE_SWAPJOB_LOW_GIB`          | <p>Untere Schwelle für die Auslagerung. Der Auslagerungsjob verschiebt Projekte, bis die Festplattenauslastung unter diesen Wert fällt.<br><br><strong>- Standard:</strong> 128 GB</p>      |
| `GIT_BRIDGE_SWAPJOB_HIGH_GIB`         | <p>Obere Schwelle für die Auslagerung. Der Auslagerungsjob beginnt mit der Auslagerung, wenn die Festplattenauslastung diesen Wert erreicht.<br><br><strong>- Standard:</strong> 256 GB</p> |
| `GIT_BRIDGE_SWAPJOB_INTERVAL_MILLIS`  | <p>Die Zeitspanne zwischen der Überprüfung der Festplattenauslastung und der Ausführung des Auslagerungsjobs.<br><br><strong>- Standard:</strong> 3600000 ms = 1 Stunde</p>                 |

### Fragen & Antworten

<details>

<summary>Wenn ich mein Projekt mit jemand anderem teile, wie funktioniert dann das Berechtigungsmodell von Git Bridge?</summary>

Benutzer mit Nur-Lesezugriff können dieses Projekt nur klonen; Benutzer mit Lese- und Schreibzugriff können Projekte klonen und pushen. Hinweis: Benutzer müssen angemeldet sein, um diesem Projekt beizutreten.

</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://overleaf-pro.ayaka.space/on-premises/de/konfiguration/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.
