> 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/044-github-synchronization.md).

# GitHub-synchronisatie

**GitHub-synchronisatie** 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).

Samenvatting

Met de functie GitHub-synchronisatie kun je je Overleaf-projecten rechtstreeks koppelen aan een GitHub-repository die fungeert als een externe repository voor je Overleaf-project, en die een manier biedt om wijzigingen tussen beide te pushen en te pullen. GitHub-synchronisatie kan alleen worden gebruikt op [Github.com](https://www.github.com) en kan niet worden gebruikt om verbinding te maken met andere GitHub Enterprise-installaties.

Je kunt een Overleaf-project synchroniseren met een GitHub-repository door ofwel een nieuw Overleaf-project te maken op basis van een bestaande GitHub-repository, ofwel een nieuwe GitHub-repository te maken op basis van een bestaand Overleaf-project. Het is niet mogelijk om een bestaand Overleaf-project te synchroniseren met een bestaande Github-repository.

* GitHub-synchronisatie wordt ingeschakeld door je GitHub-account te koppelen aan je Overleaf-account
* Nieuwe projecten kunnen worden gemaakt op basis van bestaande GitHub-repositories
* Repositories kunnen in GitHub worden gemaakt op basis van bestaande Overleaf-projecten
* Gekoppelde projecten en repositories worden synchroon gehouden met behulp van de **GitHub** optie in de **Menu**

### Je Overleaf-account koppelen aan je GitHub-account

Om de functie GitHub-synchronisatie te gebruiken, moet je je Overleaf-account koppelen aan je Github-account. Je kunt dit doen in je Overleaf [Accountinstellingen](https://www.overleaf.com/user/settings). Houd er rekening mee dat de mogelijkheid van Overleaf om verbinding te maken met bepaalde repositories of organisaties die aan je account zijn gekoppeld, kan afhangen van de machtigingsinstellingen die in GitHub zijn geconfigureerd.

### Een nieuw Overleaf-project maken op basis van een GitHub-repository

In het menu Nieuw project kun je de GitHub-optie selecteren. Hiermee krijg je een lijst te zien met repositories die via je GitHub-account zichtbaar zijn voor Overleaf, op basis van je GitHub-machtigingen.

![Nieuw GitHub maken.png](/files/6c9ef9c5951da14f250cf232b94d42ad755f9892)

Enkele aandachtspunten bij het maken van een nieuw Overleaf-project op basis van een bestaande GitHub-repository.

* Er gelden groottebeperkingen voor Overleaf-projecten, waardoor grotere GitHub-repositories mogelijk niet kunnen worden gebruikt om een project te maken. Zie [deze pagina](/latex/nl/kennisbank/119-overleaf-plan-limits.md) voor een overzicht van beperkingen voor de grootte en het aantal bestanden in een Overleaf-project.
* Overleaf-projecten ondersteunen geen Git-submodules of Git LFS.

### Een nieuwe GitHub-repository maken op basis van een Overleaf-project

In het menu van het Overleaf-project kun je GitHub selecteren als een van de synchronisatieopties. Je krijgt dan een dialoogvenster waarin je de naam van een nieuwe GitHub-repository kunt opgeven om te synchroniseren met je Overleaf-project.

![Projectmenu github.png](/files/5be59e9720051db38dd4e4353476fe712ff80254)

### Synchroniseren met GitHub

Synchronisatie tussen GitHub en Overleaf gebeurt niet automatisch; synchronisatieopties worden weergegeven door op **GitHub** optie in de **Menu**. Op dat moment geeft de GitHub-modale venster aan of er nieuwe wijzigingen zijn om van GitHub op te halen. Je krijgt altijd de optie om wijzigingen naar GitHub te pushen (let op: deze optie wordt weergegeven, zelfs als Overleaf en GitHub up-to-date zijn).

![afbeelding van GitHub-modale venster](/files/39c0118731a1c5c210c1053f6ca84d0df422f962)

Commits naar GitHub worden aangemaakt wanneer op de knop Overleaf-wijzigingen naar GitHub pushen wordt geklikt. Op dat moment kan een optioneel commitbericht worden opgegeven.

* Wijzigingen in de Overleaf-geschiedenis vanuit GitHub worden weergegeven als gemaakt door anoniem.
* Wijzigingen in de GitHub-geschiedenis vanuit Overleaf worden weergegeven als gemaakt door de eigenaar van het gekoppelde GitHub-account.

### Samenvoegconflicten oplossen

Het kan gebeuren dat wanneer er zowel in Overleaf als in Github wijzigingen worden aangebracht, Git niet kan bepalen hoe deze automatisch moeten worden samengevoegd. Als je medewerker bijvoorbeeld een regel in Overleaf heeft gewijzigd en jij dezelfde regel in de Github-repository hebt gewijzigd, kan Overleaf mogelijk niet kiezen welke versie moet worden behouden.

Wanneer dat gebeurt, pushen we in plaats van samen te voegen naar je hoofdbranch een nieuwe branch naar je repository. Deze branch krijgt een beschrijvende naam (inclusief de datum en tijd van het aanmaken van de branch) en bevat de versie van het document in Overleaf. Wanneer je probeert te synchroniseren met GitHub, wordt een bericht weergegeven dat aangeeft dat een samenvoegconflict moet worden opgelost.

![Dialoogvenster voor samenvoegconflict van GitHub](/files/c42f505100193fbdcedf8f1acfed925ce80a6a31)

Om weer synchroon te komen, moet je de Overleaf-branch samenvoegen met je hoofd- (standaard)branch. Je kunt dit op je computer doen door beide branches op te halen en samen te voegen met git of een ander hulpmiddel, en vervolgens het resultaat terug te pushen naar Github. Als alternatief kun je de samenvoeging rechtstreeks op Github uitvoeren door een pull request te maken vanuit de Overleaf-branch en hun functie voor conflictoplossing te gebruiken. Beide benaderingen worden uitgelegd in de [Github-documentatie](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts).

### Toegang krijgen tot repositories in je GitHub-organisaties

Je kunt Overleaf-projecten synchroniseren met repositories die zijn gekoppeld aan je verbonden GitHub-account, en je kunt mogelijk ook synchroniseren met projecten in GitHub-organisaties waarvan je lid bent. Om te synchroniseren met repositories in je gekoppelde GitHub-organisaties, moeten die organisaties toestemming geven om te worden benaderd door de Overleaf OAuth-applicatie.

* Als je lid bent van de organisatie, kun je de beschreven stappen volgen [hier](https://help.github.com/articles/requesting-organization-approval-for-oauth-apps/) om toegang voor de Overleaf-app aan te vragen voor toegang tot je organisatie.
* Als je de eigenaar van de organisatie bent, kun je de beschreven stappen volgen [hier](https://help.github.com/articles/approving-oauth-apps-for-your-organization/) om de Overleaf-app voor de organisatie goed te keuren.

### Bestandslimieten voor GitHub-synchronisatie

Overleaf-projecten zijn onderworpen aan individuele groottebeperkingen, evenals limieten voor het totale aantal bestanden in een project, zoals vermeld [hier](/latex/nl/kennisbank/119-overleaf-plan-limits.md). Hoewel Git zelf een enkele commit met wijzigingen in duizenden bestanden aankan, legt de GitHub API die door de GitHub-synchronisatiefunctie van Overleaf wordt gebruikt ook limieten op aan het aantal bestanden dat kan worden gepusht of gepulld. Het wordt aanbevolen om het aantal bestanden in een individuele commit te beperken tot minder dan 100 bestanden, en de totale projectgrootte tot minder dan 100 MB als je GitHub-synchronisatie gebruikt. Projecten boven deze groottes kunnen werken, maar we raden aan binnen deze limieten te blijven om mogelijke synchronisatieproblemen te voorkomen.

### Een project loskoppelen van een repository

Hoewel het mogelijk is om meerdere projecten te maken vanuit één bestaande GitHub-repository, **is het niet mogelijk om de repository die aan een bepaald project is gekoppeld te wijzigen**. Zodra een project aan een repository is gekoppeld, kan het niet worden ontkoppeld en worden gebruikt om een nieuwe repository te maken. Als je een nieuwe repository wilt maken op basis van een bepaald project, moet je een nieuwe kopie van het project maken en vervolgens de nieuwe repository op basis van die kopie maken.

### Bekende beperkingen

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

**Symlinks**: Het Overleaf Git-systeem ondersteunt geen symlinks. Een symlink kan in een Overleaf-project worden gepusht, maar wordt geconverteerd naar een regulier bestand en zal de lokale symlink overschrijven de volgende keer dat het project wordt gepulld.

**Bestandsrechten**: Het Overleaf Git-systeem behoudt geen uitvoerrechten. Wanneer je met GitHub-synchronisatie werkt, als bestanden met de uitvoerbit in GitHub naar Overleaf worden gesynchroniseerd, wordt er automatisch een commit door Overleaf getriggerd om de bestandsrechten opnieuw in te stellen.

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

**Git-submodules**: Overleaf-projecten kunnen fungeren als Git-submodules binnen andere repositories, maar kunnen geen andere Git-submodules bevatten. Om naar bestanden uit andere projecten te verwijzen, wordt aanbevolen de functie toevoegen vanuit een ander project te gebruiken.

**Bijgehouden wijzigingen en opmerkingen**: Helaas kunnen pulls van GitHub naar Overleaf leiden tot verlies of verplaatsing van wijzigingen bijhouden en opmerkingen; daarom raden we af om actief werk in GitHub te combineren met het gebruik van wijzigingen bijhouden en/of opmerkingen.

**Rechtstreekse synchronisatie met GitHub Enterprise of GitLab:** De GitHub API die door Overleaf wordt gebruikt, kan alleen verbinding maken met repositories die worden gehost op github.com. Je kunt indirect synchroniseren met projecten die worden gehost bij andere aanbieders via de [Overleaf Git-integratie](/latex/nl/kennisbank/040-git-integration.md) functie.

**Een bestaand project verbinden met een bestaande repository**: Het is niet mogelijk om een bestaand Overleaf-project te synchroniseren met een bestaande Github-repository.

**Auteurschap van pushes naar GitHub**: De enige Github-gebruiker waarvan Overleaf zich bewust is, is de gebruiker van wie het GitHub-account is gekoppeld aan het Overleaf-account en die dat project bezit. Alle commits worden gemaakt via een GitHub-API die die commits expliciet maakt onder de identiteit van die gebruiker. Dus alle commits worden in de GitHub Git-geschiedenis weergegeven als afkomstig van de gekoppelde gebruiker. In de geschiedenis van Overleaf worden wijzigingen weergegeven als "Anoniem (via GitHub)".

**Git-geschiedenis en Overleaf-geschiedenis:** Wijzigingen aan de Overleaf-kant hebben geen één-op-één mapping met GitHub-commits. Meerdere gebruikers kunnen wijzigingen aanbrengen aan de Overleaf-kant, maar deze wijzigingen worden gebundeld als één enkele commit onder de verbonden gebruiker in GitHub wanneer synchronisatie wordt geactiveerd.


---

# 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/044-github-synchronization.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.
