> 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/latex/de/wissensdatenbank/040-git-integration.md).

# Git-Integration

**Die Git-Integration von Overleaf** ist eine [Premiumfunktion](/latex/de/wissensdatenbank/120-overleaf-premium-features.md). Die Premiumfunktionen von Overleaf stehen Teilnehmern in [Overleaf Commons](https://www.overleaf.com/for/universities), Mitgliedern von Gruppenabonnements [und Inhabern einzelner](https://www.overleaf.com/for/groups), sowie [und Inhabern einzelner](https://www.overleaf.com/user/subscription/plans). Die Git-Integration ist auf Overleaf Cloud und Overleaf Server Pro (Version 4.0 und höher) verfügbar.

### Was ist die Overleaf-Git-Integration?

Die Git-Integration von Overleaf ermöglicht es Ihnen, eine Git-URL aus Ihrem Overleaf-Projekt zu erhalten und es wie ein entferntes Git-Repository (Repo) zu behandeln. Sie können Ihr Projekt in ein lokales Git-Repository klonen und lokal an Ihrem Projekt arbeiten, Änderungen von Ihrem lokalen Rechner in Ihr Projekt pushen und Aktualisierungen, die im Online-Editor von Overleaf stattfinden, in Ihr lokales Repo pullen.

So können Sie bei Bedarf lokal an Ihrem Projekt arbeiten, wenn Online-Arbeit nicht möglich ist, einen anderen lokalen Editor Ihrer Wahl verwenden, wenn Sie an einem Overleaf-Projekt arbeiten, oder Ausgaben anderer lokaler Software ganz einfach zu Ihrem Overleaf-Projekt hinzufügen.

Sie können die Git-URL und den Klonbefehl für Ihr Projekt über die Git-Option im Overleaf-Menü Ihres Projekts abrufen.

![Projektmenü git.png](/files/cb405d5552fc42f56ec42f15720501e4a7d499f0)

### So authentifizieren Sie sich bei der Nutzung der Git-Integration

Wenn Sie eine Git-Operation wie Clone, Pull oder Push für Ihr entferntes Overleaf-Projekt ausführen, werden Sie aufgefordert, sich zu authentifizieren.

Um über Git auf Ihr Overleaf-Projekt zuzugreifen, müssen Sie die tokenbasierte Authentifizierung von Overleaf verwenden. Schritt-für-Schritt-Anweisungen finden Sie hier: [Tokenbasierte Authentifizierung](/latex/de/wissensdatenbank/042-git-integration-authentication-tokens.md).

### Ihr Projekt als lokales Repository klonen

Im [**Menü**](/latex/de/wissensdatenbank/148-using-the-overleaf-project-menu.md) innerhalb Ihres Projekts können Sie in den Synchronisationsoptionen Git auswählen. Dadurch wird ein Dialog angezeigt, der den `git clone` Befehl zeigt, den Sie beim Erstellen Ihres lokalen Repositorys verwenden sollen.

![Projektmenü git.png](/files/cb405d5552fc42f56ec42f15720501e4a7d499f0)

Alternativ können Sie die Git-URL anhand der Projekt-URL finden (der URL in der Adressleiste des Browsers, wenn Sie sich in einem Projekt befinden).

#### Overleaf Cloud

Wenn Sie Overleaf Cloud verwenden und die URL Ihres Overleaf-Projekts wie folgt aussieht:

```
https://www.overleaf.com/project/1234567
```

Dann lautet die Git-URL, die zum Klonen des Projekts verwendet wird,

```
https://git.overleaf.com/1234567
```

Und der Befehl zum Klonen des Projekts in ein lokales Git-Repository lautet:

```
git clone https://git.overleaf.com/1234567
```

**Hinweis**: Möglicherweise werden Sie nach Benutzername und Passwort gefragt. Bitte sehen Sie sich [Passwortauthentifizierung für die Git-Integration](/latex/de/wissensdatenbank/043-git-integration-password-based-authentication.md)

#### Overleaf Server Pro (Version 4.0 oder höher)

**Hinweis**: Die Git-Bridge-Integration ist in Server Pro standardmäßig nicht aktiviert. Bitte beachten Sie unseren [Git-Integration](https://github.com/overleaf/overleaf/wiki/Git-Integration) Leitfaden für Anweisungen, wie Sie sie aktivieren können.

Wenn Sie Overleaf Server Pro verwenden und die URL Ihres Projekts so aussieht:

```
https://<SHARELATEX_SITE_URL>/project/1234567
```

Dann lautet die Git-URL, die beim Klonen des Projekts verwendet wird:

```
https://git@<SHARELATEX_SITE_URL>/git/1234567
```

Und der Befehl, der verwendet wird, um das Projekt mit der Git-Befehlszeile in ein lokales Git-Repository zu klonen, lautet:

```
git clone git@<SHARELATEX_SITE_URL>/git/1234567
```

**Hinweis**: Möglicherweise werden Sie nach einem Passwort gefragt. Bitte sehen Sie sich an: [Authentifizierungstoken für die Git-Integration](/latex/de/wissensdatenbank/042-git-integration-authentication-tokens.md)

### Ein Overleaf-Projekt aus einem vorhandenen Git-Repository erstellen

Wenn Sie bereits ein Repository haben, können Sie ein Overleaf-Projekt als entferntes Repository hinzufügen. Es gibt einige Befehle unten, die Sie ausführen müssen, um loszulegen. Bitte beachten Sie, dass Overleaf nur eine lineare Historie pro Projekt unterstützt. Die Git-Integration erzwingt diese Einschränkung, indem sie die Anzahl der Branches auf einen begrenzt. Dieser eine Branch ist derzeit fest auf den Namen `master`.

1. Zunächst gehen wir davon aus, dass Sie ein Git-Repository auf Ihrem Computer in einem Ordner namens haben `my-paper`. (Es könnte auch auf GitHub, GitLab oder Bitbucket usw. gehostet sein, aber Sie müssen es auch lokal geklont haben.)
2. Erstellen [ein neues Projekt](/latex/de/wissensdatenbank/031-creating-a-document-in-overleaf.md) in Overleaf. Da jeglicher Inhalt im Projekt überschrieben wird, verwenden Sie beim Erstellen dieses Projekts die Option für ein „Leeres“ Projekt und löschen Sie die `main.tex` Datei in Overleaf.
3. Suchen Sie die Git-URL für das Projekt (siehe [oben](#cloning-your-project-as-a-local-repository)).

   ![Git-bridge-url.png](/files/1c150a20829db03d7cb726b3d3dc550289f36eb7)
4. Fügen Sie die Git-URL für das Projekt als Remote in Ihrem lokalen Projekt hinzu.

   ```
   $ cd my-paper
   $ git remote add overleaf <GIT-URL>
   ```

   (Achten Sie darauf, Ihren eigenen Link zu verwenden, nicht den Beispiel-Link.)
5. Holen Sie den neuesten Inhalt aus dem Overleaf-Projekt und führen Sie ihn in Ihren master-Branch zusammen.

   ```
   $ git checkout master
   $ git pull overleaf master --allow-unrelated-histories --rebase=false
   ```
6. Pushen Sie Ihr Projekt zu Overleaf.

   ```
   $ git push overleaf master --set-upstream
   ```

   Wenn Sie lokal einen anderen Branchnamen verwenden möchten, z. B. `my-branch`, können Sie Ihre Änderungen mit einem Alias pushen:

   ```
   $ git push overleaf my-branch:master
   ```
7. Besuchen Sie das Projekt in Overleaf. Ihre Änderungen sollten dort sein. (Möglicherweise müssen Sie das Overleaf-Projektmenü öffnen, um herauszufinden, welche Datei als Hauptdokumentdatei festgelegt wurde, und diese anfängliche Auswahl gegebenenfalls ändern.)

### Git-Commits und die Overleaf-Git-Integration

Overleaf hat ein internes [Historiensystem](/latex/de/weitere-themen/49-using-the-history-feature.md) das die gleichzeitige Zusammenarbeit innerhalb eines Overleaf-Projekts ermöglicht. Das ist nicht dasselbe wie Git, daher ist die Overleaf-Git-Integration im Wesentlichen eine Übersetzung des Historien- und Versionierungsmechanismus von Overleaf in Git. Dies ermöglicht viele Git-fähige Anwendungsfälle, aber es erlaubt Ihnen nicht, in Overleaf so zu arbeiten, als wäre es eine vollständige Git-Implementierung.

#### Wann werden Commits erstellt?

Wenn Sie einen `pull` oder `fetch` Befehl ausführen, wird ein neuer Commit dynamisch erstellt, wenn für den aktuellen Projektstand noch kein Commit existiert. Wenn Sie `pushen` Dateien aus Ihrem lokalen Repository zum Overleaf-Remote, wird dabei ebenfalls ein Commit erstellt, der in allen zukünftigen Klonen sichtbar sein wird, die Sie von dem Overleaf-Projekt anlegen. Wenn Sie oder andere in Overleaf bearbeiten, werden Commits nicht automatisch erzeugt, bis sie benötigt werden.

#### Commits erzwingen

Wenn Sie einen Commit zu einem bestimmten Zeitpunkt in der Overleaf-Historie erzwingen möchten, können Sie dies tun, indem Sie [eine Version mit einem Label versehen](/latex/de/weitere-themen/49-using-the-history-feature.md) in der Overleaf-Historie. Die Version mit Label erhält ihren eigenen Commit-Hash, auch wenn Sie nicht sofort einen git pull ausführen. Ein Commit wird nur aus einem Label erstellt, wenn es keine anderen Commits gibt, die später als der markierte Punkt in der Overleaf-Historie gemacht wurden.

#### Urheberschaft nachverfolgen

Der Just-in-time-Charakter der Commits aus der Overleaf-Git-Integration bedeutet, dass bei mehreren Änderungen auf der Overleaf-Seite, bevor ein Commit erzeugt wird, der Autor der jüngsten Änderung als Autor des Commits aufgeführt wird.

Bei der Zusammenarbeit mit Mitautoren ist es hilfreich, nach Abschluss einer wesentlichen Aktualisierung durch jeden Mitarbeitenden ein Label zu erstellen (wodurch ein Commit erzeugt wird) – so entsteht in Git eine Folge von Commits, die die in Overleaf stattfindenden Änderungen am besten widerspiegelt.

### Mit einem anderen Remote synchronisieren

Die Git-Integration von Overleaf ermöglicht es Ihrem Overleaf-Projekt, als entferntes Repository für lokale Repositories zu dienen. Möglicherweise möchten Sie Ihr Overleaf-Projekt jedoch mit einem anderen Remote synchronisieren, das auf GitHub, GitLab oder einem anderen Git-Hosting-Dienst gehostet wird.

Wenn Sie Ihr Projekt mit einem auf GitHub gehosteten Repository synchronisieren (<https://github.com/>), möchten Sie vielleicht Overleafs direkte [GitHub-Synchronisierung](/latex/de/wissensdatenbank/044-github-synchronization.md) Funktion importiert werden können.

Wenn Sie Ihr Projekt mit GitLab, GitHub Enterprise oder einem anderen Host synchronisieren, können Sie die Overleaf-Git-Integration verwenden, um ein vermittelndes lokales Repository einzurichten.

Wenn Sie die obigen Anweisungen für [das Klonen Ihres Projekts](#cloning-your-project-as-a-local-repository) oder [die Verknüpfung eines Projekts mit einem vorhandenen Repository](#creating-an-overleaf-project-from-an-existing-git-repository)befolgt haben, verfügen Sie über ein lokales Repository, das Änderungen von Overleaf pushen/pullen kann. Sie können diesem Repository dann ein zweites Remote hinzufügen, das auf Ihr gehostetes Repository verweist. Ihr lokales Repository benötigt zwei Remotes, damit es sowohl auf Ihren Git-Host als auch auf das Overleaf-Projekt verweist.

Auch wenn es keine direkte Verbindung zwischen dem Overleaf-Projekt und Ihrem Git-Repository gibt, können Sie sie so synchron halten.

![Git anderes Remote.png](/files/e8f6d02a83db86a255dfa4c082359174bb796294)

### Ein Overleaf-Projekt als Git-Submodul hinzufügen

Jedes Projekt in Overleaf verhält sich wie ein unabhängiges Git-Repository, aber wenn Sie mehrere solcher Projekte in einem Git-Repo organisieren möchten, können Sie das Repo für jedes Projekt auf die übliche Weise als Git-Submodul hinzufügen. Sie können dann jedes Submodul-Repository einzeln zu/von Overleaf pushen und pullen und sie trotzdem als Submodule in einem größeren Projekt zusammenführen.

**Hinweis:** Während Overleaf-Projekte als Submodule innerhalb eines anderen Repositorys vorkommen können, können Overleaf-Projekte selbst keine anderen Submodule enthalten.

### Bekannte Einschränkungen

**Branches**: Das Overleaf-Git-System unterstützt kein Branching.

**Symlinks**: Das Overleaf-Git-System kommt mit Symlinks nicht gut zurecht. Ein Symlink kann in ein Overleaf-Projekt gepusht werden, wird dort jedoch in eine normale Datei umgewandelt und beim nächsten Pull des Projekts den lokalen Symlink überschreiben.

**Tags**: Das Overleaf-Git-System unterstützt kein Tagging.

**Dateiberechtigungen**: Das Overleaf-Git-System bewahrt Ausführungsrechte nicht. Um dies zu umgehen, können Sie `git config core.fileMode false` in Ihrem lokalen Klon des Repositorys ausführen. Danach können Sie die Ausführungsrechte für alle betroffenen Dateien zurücksetzen. Auf diese Weise werden sie bei späteren Git-Operationen nicht erneut geändert.

**Git LFS:** Overleaf-Projekte unterstützen Git Large File Storage nicht.

**Git-Submodule:** Overleaf-Projekte können als Git-Submodule innerhalb anderer Repositorys fungieren, können jedoch keine anderen Git-Submodule enthalten. Um auf Dateien aus anderen Projekten zu verweisen, wird empfohlen, die [Funktion „Aus einem anderen Projekt hinzufügen“](/latex/de/wissensdatenbank/009-can-i-share-files-e.g.-.bib-and-some-graphics-across-my-projects.md).

**Ordner umbenennen**: Wenn ein Benutzer einen Ordner umbenennt und die Änderung zu Overleaf pusht, behält das Projekt zusätzlich zum neuen Ordner einen leeren Ordner mit dem alten Namen. (Wenn beispielsweise images/ in img/ umbenannt wird, bleiben im Projekt zwei Ordner zurück: img/ mit den Bilddateien und images/, das leer sein wird. Dies kann Probleme verursachen, wenn ein Benutzer einen Ordner umbenennt und in einem Commit eine neue Datei mit demselben Namen wie der alte Ordner erstellt. Das Overleaf-Git-System lehnt diese Commits ab. In diesem Fall empfehlen wir, den Commit in zwei Teile aufzuteilen und den verbleibenden Ordner zu löschen.

**Dateien umbenennen und Dateien verschieben:** Das Umbenennen einer Datei in Ihrem lokalen Repository wird auf der Overleaf-Seite zu Löschen und Erstellen. Dies kann zu einem Verlust von Metadaten führen, die mit einer Datei auf der Overleaf-Seite verbunden sind, und dadurch zum Löschen von nachverfolgten Änderungen und Kommentaren. Es wird nicht empfohlen, auf der Git-Seite Dateien zu verschieben oder umzubenennen, die in Overleaf nachverfolgte Änderungen oder Kommentare haben.

**Nachverfolgte Änderungen und Kommentare**: Leider können Pushes von Git zu Overleaf zum Verlust oder zur Verschiebung von nachverfolgten Änderungen und Kommentaren führen; daher empfehlen wir nicht, die aktive Nutzung von Git mit der Verwendung von nachverfolgten Änderungen und/oder Kommentaren zu kombinieren.

### Fehlerbehebung

#### Fehler „Repository nicht gefunden“

Wenn Sie einen Fehler „Repository nicht gefunden“ sehen, wird wahrscheinlich die falsche URL verwendet. Die korrekte URL finden Sie, indem Sie im Menü innerhalb des Projekts die Git-Option anklicken. Für Overleaf Cloud ist die Git-Integration eine Premium-Funktion, sie ist also nur verfügbar, wenn der Eigentümer des Projekts ein kostenpflichtiges Abonnement bei Overleaf hat oder Zugriff auf die Funktion erhalten hat (zum Beispiel durch Teilnahme an einem frühen Beta-Test).

#### Fehler bei der Authentifizierung

Bitte sehen Sie sich die Fehlerbehebungsanweisungen für [Authentifizierungstoken für die Git-Integration](/latex/de/wissensdatenbank/042-git-integration-authentication-tokens.md) oder [Passwortauthentifizierung für die Git-Integration](/latex/de/wissensdatenbank/043-git-integration-password-based-authentication.md) an, abhängig davon, welche Anmeldemethode Sie verwenden.

#### Rate-Limits

Eine Drosselung des Git-Bridge-Rate-Limits tritt im Allgemeinen nicht auf, wenn Git-Operationen manuell ausgeführt werden. Einige Git-Clients können so konfiguriert werden, dass sie automatisch Remotes auf Änderungen abfragen; das kann in manchen Fällen zu Rate-Limit-Fehlern führen. Im Allgemeinen sollten das Deaktivieren jeglicher automatischen Abfragen oder das Verringern der Häufigkeit von Git-Operationen diese Probleme beheben.

#### Fehler beim Pushen von Referenzen

Ein Fehlschlag beim Pushen bestimmter Referenzen zum entfernten Projekt kann verursacht werden durch [das Überschreiten der Dateigröße oder der Anzahlbeschränkungen eines Projekts](/latex/de/wissensdatenbank/119-overleaf-plan-limits.md) oder durch die Einbeziehung nicht unterstützter Dateitypen (zum Beispiel Symlinks oder LFS). Bitte prüfen Sie die oben aufgeführten bekannten Einschränkungen, um problematische Dateien im Commit zu identifizieren.

In einigen Fällen kann eine Erhöhung der **postBuffer** Einstellung dazu beitragen, Fehler beim Pushen von Referenzen von Ihrem lokalen Repository zum Overleaf-Projekt zu beheben.

Zunächst können Sie Ihre aktuelle Einstellung mit dem Befehl überprüfen:

```
     git config http.postBuffer
```

Wenn keine Ausgabe erscheint, bedeutet das, dass der Standardwert von 1 MB verwendet wird.

Versuchen Sie als Nächstes den Befehl

```
     git config --global http.postBuffer 10485760
```

wodurch der Wert stattdessen auf 10 MB gesetzt wird.

Jetzt können Sie versuchen, den Commit zu pushen (entweder zum ursprünglichen Projekt oder zum neuen). Wenn das nicht funktioniert, können Sie zu Ihrer vorherigen Einstellung zurückkehren oder die Einstellung entfernen mit:

```
     git config --global --unset http.postBuffer
```

#### Zeitüberschreitungen

Git-Commits, die eine große Anzahl von Änderungen enthalten, können potenziell zu Zeitüberschreitungen führen. Wenn Sie eine Zeitüberschreitung feststellen, versuchen Sie bitte, den Commit in kleinere Änderungen aufzuteilen. Wenn das Problem weiterhin besteht, sollten Sie die **postBuffer** wie oben beschrieben auf 10 MB setzen.


---

# 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/latex/de/wissensdatenbank/040-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.
