> 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/nl/kennisbank/040-git-integration.md).

# Git-integratie

**De Git-integratie van Overleaf** is een [premiumfunctie](/latex/nl/kennisbank/120-overleaf-premium-features.md). Overleaf Premium-functies zijn beschikbaar voor deelnemers in [Overleaf Commons](https://www.overleaf.com/for/universities), leden van groep [abonnementen](https://www.overleaf.com/for/groups), en eigenaren van individuele [abonnementen](https://www.overleaf.com/user/subscription/plans). De Git-integratie is beschikbaar op Overleaf Cloud en Overleaf Server Pro (versie 4.0 en later).

### Wat is de Overleaf Git-integratie?

De Git-integratie van Overleaf stelt u in staat een Git-URL uit uw Overleaf-project te halen en deze te behandelen als een externe Git-repository (repo). U kunt uw project klonen naar een lokale Git-repository en lokaal aan uw project werken, wijzigingen vanaf uw lokale machine naar uw project pushen en updates die plaatsvinden in de online editor van Overleaf naar uw lokale repo ophalen.

Hiermee kunt u lokaal aan uw project werken voor momenten waarop online werken niet haalbaar is, een andere lokale editor naar keuze gebruiken wanneer u aan een Overleaf-project werkt, of eenvoudig uitvoer van andere lokale software aan uw Overleaf-project toevoegen.

U kunt de Git-URL en het clone-commando voor uw project verkrijgen via de Git-optie in het Overleaf-menu van uw project.

![Projectmenu git.png](/files/f0fa4b1e34ced0a0c9640290d073b316964be127)

### Hoe te verifiëren bij gebruik van de Git-integratie

Wanneer u een Git-bewerking uitvoert zoals clone, pull of push naar uw externe Overleaf-project, wordt u gevraagd u te verifiëren.

Om via Git toegang te krijgen tot uw Overleaf-project, moet u Overleaf-tokengebaseerde verificatie gebruiken. Zie voor stapsgewijze instructies: [Tokengebaseerde verificatie](/latex/nl/kennisbank/042-git-integration-authentication-tokens.md).

### Uw project klonen als lokale repository

Vanaf de [**Menu**](/latex/nl/kennisbank/148-using-the-overleaf-project-menu.md) binnen uw project kunt u Git selecteren uit de synchronisatie-opties. Dit opent een dialoogvenster met het `git clone` commando dat u moet gebruiken bij het aanmaken van uw lokale repository.

![Projectmenu git.png](/files/f0fa4b1e34ced0a0c9640290d073b316964be127)

Als alternatief kunt u de Git-URL vinden via de project-URL (de URL in de adresbalk van de browser wanneer u in een project zit).

#### Overleaf Cloud

Als u Overleaf Cloud gebruikt en de URL van uw Overleaf-project er als volgt uitziet:

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

Dan zal de te gebruiken Git-URL om het project te klonen zijn

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

En het commando dat wordt gebruikt om het project naar een lokale Git-repository te klonen, is:

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

**Opmerking**: u wordt mogelijk gevraagd om een gebruikersnaam en wachtwoord. Zie alstublieft [Wachtwoordverificatie voor Git-integratie](/latex/nl/kennisbank/043-git-integration-password-based-authentication.md)

#### Overleaf Server Pro (versie 4.0 of later)

**Opmerking**: De Git-bridge-integratie is standaard niet ingeschakeld in Server Pro. Zie onze [Git-integratie](https://github.com/overleaf/overleaf/wiki/Git-Integration) gids voor instructies over hoe u dit kunt inschakelen.

Als u Overleaf Server Pro gebruikt en de URL van uw project er als volgt uitziet:

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

Dan zal de Git-URL die wordt gebruikt bij het klonen van het project zijn:

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

En het commando dat wordt gebruikt om het project met de Git-opdrachtregel naar een lokale Git-repository te klonen, is:

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

**Opmerking**: Mogelijk wordt u om een wachtwoord gevraagd. Zie alstublieft: [Authenticatietokens voor Git-integratie](/latex/nl/kennisbank/042-git-integration-authentication-tokens.md)

### Een Overleaf-project maken vanuit een bestaande Git-repository

Als u een bestaande repository hebt, kunt u een Overleaf-project toevoegen als externe repository. Hieronder staan een paar commando's die u moet uitvoeren om aan de slag te gaan. Houd er rekening mee dat Overleaf slechts één lineaire geschiedenis voor elk project ondersteunt. De Git-integratie dwingt deze beperking af door het aantal branches te beperken tot één. Die ene branch is momenteel hardcoded om te heten `master`.

1. Eerst nemen we aan dat u een git-repository op uw computer hebt in een map genaamd `my-paper`. (Deze kan ook gehost worden op GitHub, GitLab of Bitbucket, enz., maar u moet hem ook lokaal hebben gekloond.)
2. Aanmaken [een nieuw project](/latex/nl/kennisbank/031-creating-a-document-in-overleaf.md) op Overleaf. Aangezien alle inhoud in het project wordt overschreven, gebruik de projectoptie 'Blank' bij het aanmaken van dit project en verwijder het `main.tex` bestand in Overleaf.
3. Zoek de Git-URL voor het project (zie [hierboven](#cloning-your-project-as-a-local-repository)).

   ![Git-bridge-url.png](/files/d6a2f8085922b3ea555f918ef6547f4bfb9162ca)
4. Voeg de Git-URL voor het project toe als een externe repository in uw lokale project.

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

   (Zorg ervoor dat u uw eigen link gebruikt, niet de voorbeeldlink.)
5. Haal de nieuwste inhoud op uit het Overleaf-project en voeg die samen met uw master-branch.

   ```
   $ git checkout master
   $ git pull overleaf master --allow-unrelated-histories --rebase=false
   ```
6. Push uw project naar Overleaf.

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

   Als u lokaal een andere branchenaam wilt gebruiken, bijvoorbeeld `my-branch`, kunt u uw wijzigingen met een alias pushen:

   ```
   $ git push overleaf my-branch:master
   ```
7. Bezoek het project op Overleaf. Uw wijzigingen zouden daar moeten staan. (Mogelijk moet u het Overleaf-projectmenu openen om te zien welk bestand als hoofddocumentbestand is ingesteld, en mogelijk deze eerste selectie wijzigen.)

### Git-commits en de Overleaf Git-integratie

Overleaf heeft een intern [geschiedenissysteem](/latex/nl/meer-onderwerpen/49-using-the-history-feature.md) dat gelijktijdige samenwerking binnen een Overleaf-project mogelijk maakt. Dit is niet hetzelfde als Git, dus de Overleaf Git-integratie is in wezen een vertaling van de geschiedenis- en versiebeheermechanismen van Overleaf naar Git. Dit maakt veel Git-compatibele gebruikssituaties mogelijk, maar het stelt u niet in staat binnen Overleaf te werken alsof het een volledige Git-implementatie was.

#### Wanneer worden commits aangemaakt?

Wanneer u een `pull` of `fetch` commando uitvoert, als er geen commit bestaat voor de huidige projectstatus, wordt dynamisch een nieuwe commit aangemaakt. Wanneer u `push` bestanden van uw lokale repository naar de externe Overleaf-repository, wordt op dat moment ook een commit aangemaakt, die zichtbaar zal zijn in eventuele toekomstige klonen die u van het Overleaf-project maakt. Wanneer u of anderen in Overleaf aan het bewerken zijn, worden commits niet automatisch gegenereerd totdat dat nodig is.

#### Commits forceren

Als u wilt dat er op een bepaald punt in de Overleaf-geschiedenis een commit wordt aangemaakt, kunt u dat doen door [een versie te labelen](/latex/nl/meer-onderwerpen/49-using-the-history-feature.md) in de Overleaf-geschiedenis. De gelabelde versie krijgt zijn eigen commit-hash, zelfs als u niet meteen een git pull uitvoert. Een commit wordt alleen uit een label aangemaakt als er geen andere commits recenter zijn gemaakt dan het punt in de Overleaf-geschiedenis dat wordt gelabeld.

#### Auteurschap bijhouden

Het just-in-time karakter van commits uit de Overleaf Git-integratie betekent dat als er meerdere wijzigingen aan de Overleaf-kant hebben plaatsgevonden voordat een commit wordt gegenereerd, de auteur van de meest recente wijziging als auteur van de commit wordt vermeld.

Bij het werken met mede-auteurs is het handig om na elke medewerker een belangrijke update heeft voltooid een label aan te maken (waarmee een commit wordt gegenereerd) - dit creëert een reeks commits die zichtbaar is in Git en die de wijzigingen die in Overleaf plaatsvinden het dichtst benadert.

### Synchroniseren met een andere externe repository

De Git-integratie van Overleaf stelt uw Overleaf-project in staat als een externe repository voor lokale repositories te fungeren. U kunt echter uw Overleaf-project ook willen synchroniseren met een andere externe repository, gehost op GitHub, GitLab of een andere Git-hostingservice.

Als u uw project synchroniseert met een repository op GitHub (<https://github.com/>), wilt u misschien de directe [GitHub-synchronisatie](/latex/nl/kennisbank/044-github-synchronization.md) functie.

Als u uw project synchroniseert met GitLab, GitHub Enterprise of een andere host, kunt u de Overleaf Git-integratie gebruiken om een tussenliggende lokale repository in te stellen.

Door de bovenstaande instructies te volgen voor [uw project te klonen](#cloning-your-project-as-a-local-repository) of [een project te koppelen aan een bestaande repository](#creating-an-overleaf-project-from-an-existing-git-repository), krijgt u een lokale repository waarmee u wijzigingen van en naar Overleaf kunt pushen/pullen. U kunt vervolgens een tweede externe repository aan deze repository toevoegen die naar uw gehoste repository verwijst. Uw lokale repository moet twee externe repositories hebben, zodat die naar zowel uw Git-host als het Overleaf-project verwijst.

Hoewel er geen directe verbinding zal zijn tussen het Overleaf-project en uw Git-repository, kunt u ze hiermee gesynchroniseerd houden.

![Git andere remote.png](/files/4877dd60be4a47541198f15d909b1283efd4d0c0)

### Voeg een Overleaf-project toe als een Git-submodule

Elk project op Overleaf fungeert als een onafhankelijke Git-repository, maar als u meerdere van dergelijke projecten in één Git-repo wilt organiseren, kunt u de repo voor elk project op de gebruikelijke manier als een Git-submodule toevoegen. U kunt vervolgens elk submodulerepository afzonderlijk van/naar Overleaf pushen en pullen en ze toch als submodules samenvoegen in een groter project.

**Opmerking:** Hoewel Overleaf-projecten submodules binnen een andere repository kunnen zijn, kunnen Overleaf-projecten zelf geen andere submodules bevatten.

### Bekende beperkingen

**Branches**: Het Overleaf Git-systeem ondersteunt geen branching.

**Symlinks**: Het Overleaf Git-systeem verwerkt symlinks niet goed. Een symlink kan naar een Overleaf-project worden gepusht, maar wordt omgezet in een gewoon bestand en zal de lokale symlink overschrijven de volgende keer dat het project wordt gepulld.

**Tags**: Het Overleaf Git-systeem ondersteunt geen tagging.

**Bestandsrechten**: Het Overleaf Git-systeem behoudt geen execute-rechten. Als oplossing kunt u `git config core.fileMode false` uitvoeren in uw lokale kloon van de repository. Vervolgens kunt u de execute-rechten op alle getroffen bestanden opnieuw instellen. Op die manier worden ze niet opnieuw aangepast met volgende Git-bewerkingen.

**Git LFS:** Overleaf-projecten ondersteunen Git Large File Storage niet.

**Git-submodules:** Overleaf-projecten kunnen fungeren als Git-submodules binnen andere repositories, maar kunnen geen andere Git-submodules bevatten. Om te verwijzen naar bestanden uit andere projecten, wordt aangeraden de [functie 'toevoegen vanuit een ander project'](/latex/nl/kennisbank/009-can-i-share-files-e.g.-.bib-and-some-graphics-across-my-projects.md).

**Mappen hernoemen**: Als een gebruiker een map hernoemt en de wijziging naar Overleaf pusht, behoudt het project een lege map met de oude naam, naast de nieuwe map. (Bijvoorbeeld: het hernoemen van images/ naar img/ laat twee mappen achter in het project: img/ met de afbeeldingsbestanden, en images/, die leeg zal zijn. Dit kan problemen veroorzaken wanneer een gebruiker een map hernoemt en in dezelfde commit een nieuw bestand met dezelfde naam als de oude map aanmaakt. Het Overleaf Git-systeem zal deze commits weigeren. In dit geval raden we aan de commit op te splitsen in twee delen en de overgebleven map te verwijderen,

**Bestanden hernoemen en bestanden verplaatsen:** Een bestandshernoeming in uw lokale repository wordt aan de Overleaf-kant een verwijdering en aanmaak. Dit kan leiden tot verlies van metadata die aan een bestand aan de Overleaf-kant is gekoppeld, waardoor bijgehouden wijzigingen en opmerkingen worden verwijderd. Het wordt niet aanbevolen om bestanden aan de Git-kant te verplaatsen of hernoemen als die Overleaf-bijgehouden wijzigingen of opmerkingen hebben.

**Bijgehouden wijzigingen en opmerkingen**: Helaas kunnen pushes van Git naar Overleaf leiden tot verlies of verschuiving van bijgehouden wijzigingen en opmerkingen; daarom raden we af om actief gebruik van Git te combineren met het gebruik van bijgehouden wijzigingen en/of opmerkingen.

### Probleemoplossing

#### Fouten 'Repository niet gevonden'

Als u de fout 'Repository not found' ziet, wordt waarschijnlijk de verkeerde URL gebruikt. De juiste URL kunt u vinden door in het menu binnen het project op de Git-optie te klikken. Voor Overleaf Cloud is Git-integratie een premiumfunctie, dus die is alleen beschikbaar als de projecteigenaar een betaald abonnement op Overleaf heeft of toegang tot de functie heeft gekregen (bijvoorbeeld door deel te nemen aan vroegtijdig bètatesten).

#### Fouten 'Authenticatie mislukt'

Zie de probleemoplossingsinstructies voor [Authenticatietokens voor Git-integratie](/latex/nl/kennisbank/042-git-integration-authentication-tokens.md) of [Wachtwoordverificatie voor Git-integratie](/latex/nl/kennisbank/043-git-integration-password-based-authentication.md) afhankelijk van welke inlogmethode u gebruikt.

#### Snelheidslimieten

Git Bridge-snelheidsbeperking treedt doorgaans niet op wanneer Git-bewerkingen handmatig worden uitgevoerd. Sommige Git-clients kunnen zo worden geconfigureerd dat ze automatisch externen bevragen op wijzigingen, wat in sommige gevallen tot snelheidslimietfouten kan leiden. Over het algemeen zou het uitschakelen van geautomatiseerde polling of het verlagen van de frequentie van Git-bewerkingen deze problemen moeten oplossen.

#### Mislukken bij het pushen van verwijzingen

Het niet kunnen pushen van een verwijzing naar het externe project kan worden veroorzaakt door [het overschrijden van de bestandsgrootte- of aantallimieten van een project](/latex/nl/kennisbank/119-overleaf-plan-limits.md) of door niet-ondersteunde bestandstypen op te nemen (bijvoorbeeld symlinks of LFS). Bekijk de hierboven vermelde bekende beperkingen om eventuele probleembestanden in de commit te identificeren.

In sommige gevallen kan het verhogen van de **postBuffer** instelling helpen bij het oplossen van mislukkingen bij het pushen van verwijzingen van uw lokale repository naar het Overleaf-project.

Eerst kunt u uw huidige instelling controleren met het commando:

```
     git config http.postBuffer
```

Als er geen uitvoer is, betekent dit dat de standaardwaarde van 1 MB wordt gebruikt.

Probeer vervolgens het commando

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

dat de waarde dan op 10 MB instelt.

Nu kunt u proberen de commit te pushen (naar het oorspronkelijke project of het nieuwe). Als dat niet werkt, kunt u terugkeren naar uw vorige instelling, of de instelling verwijderen met:

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

#### Time-outs

Git-commits die een groot aantal wijzigingen bevatten, kunnen mogelijk tot time-outs leiden. Als u een time-out tegenkomt, probeer de commit dan op te splitsen in kleinere wijzigingen. Als het probleem aanhoudt, overweeg dan om de **postBuffer** zoals hierboven beschreven op 10 MB in te stellen.


---

# 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/nl/kennisbank/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.
