> 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/da/vidensbase/040-git-integration.md).

# Git-integration

**Overleafs Git-integration** er en [premiumfunktion](/latex/da/vidensbase/120-overleaf-premium-features.md). Overleaf-premiumfunktioner er tilgængelige for deltagere i [Overleaf Commons](https://www.overleaf.com/for/universities), medlemmer af gruppen [abonnementer](https://www.overleaf.com/for/groups), og ejere af individuelle [abonnementer](https://www.overleaf.com/user/subscription/plans). Git-integration er tilgængelig på Overleaf Cloud og Overleaf Server Pro (version 4.0 og nyere).

### Hvad er Overleafs Git-integration?

Overleafs Git-integration giver dig mulighed for at få en Git-URL fra dit Overleaf-projekt og behandle den som et eksternt Git-depot (repo). Du kan klone dit projekt til et lokalt Git-depot og arbejde på dit projekt lokalt, skubbe ændringer til dit projekt fra din lokale computer og hente opdateringer, der sker i Overleafs onlineeditor, til dit lokale repo.

Dette gør det muligt at arbejde på dit projekt lokalt på de tidspunkter, hvor onlinearbejde ikke er muligt, at bruge en anden lokal editor efter eget valg, når du arbejder på et Overleaf-projekt, eller nemt at tilføje output fra anden lokal software til dit Overleaf-projekt.

Du kan få Git-URL'en og klonkommandoen for dit projekt fra Git-indstillingen i projektets Overleaf-menu.

![Projektmenu git.png](/files/c4cdad0513e45cd550bbbc1fb49f0867ed75f315)

### Sådan autentificerer du ved brug af Git-integration

Når du udfører en Git-handling såsom clone, pull eller push til dit eksterne Overleaf-projekt, bliver du bedt om at autentificere dig.

For at få adgang til dit Overleaf-projekt fra Git skal du bruge Overleaf-tokenbaseret autentificering. Se trin-for-trin-instruktioner her: [Tokenbaseret autentificering](/latex/da/vidensbase/042-git-integration-authentication-tokens.md).

### Kloning af dit projekt som et lokalt depot

Fra [**Menu**](/latex/da/vidensbase/148-using-the-overleaf-project-menu.md) i dit projekt kan du vælge Git under synkroniseringsindstillingerne. Dette åbner en dialog, der viser `git clone` kommandoen, der skal bruges, når du opretter dit lokale depot.

![Projektmenu git.png](/files/c4cdad0513e45cd550bbbc1fb49f0867ed75f315)

Alternativt kan du finde Git-URL'en fra projektets URL (URL'en i browserens adresselinje, når du er i et projekt).

#### Overleaf Cloud

Hvis du bruger Overleaf Cloud, og din Overleaf-projekt-URL ser sådan ud:

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

Så vil den Git-URL, der skal bruges til at klone projektet, være

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

Og kommandoen, der bruges til at klone projektet til et lokalt Git-depot, vil være:

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

**Bemærk**: du kan blive bedt om et brugernavn og en adgangskode. Se venligst [adgangskodeautentificering for Git-integration](/latex/da/vidensbase/043-git-integration-password-based-authentication.md)

#### Overleaf Server Pro (version 4.0 eller nyere)

**Bemærk**: Git-bridge-integrationen er ikke aktiveret som standard i Server Pro. Se venligst vores [Git-integration](https://github.com/overleaf/overleaf/wiki/Git-Integration) vejledning for instruktioner om, hvordan du aktiverer den.

Hvis du bruger Overleaf Server Pro, og din projekt-URL ser sådan ud:

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

Så vil den Git-URL, der bruges, når projektet klones, være:

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

Og kommandoen, der bruges til at klone projektet til et lokalt Git-depot ved hjælp af Git-kommandolinjen, vil være:

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

**Bemærk**: Du kan blive bedt om en adgangskode. Se venligst: [Godkendelsestokens til Git-integration](/latex/da/vidensbase/042-git-integration-authentication-tokens.md)

### Oprettelse af et Overleaf-projekt fra et eksisterende Git-depot

Hvis du har et eksisterende depot, kan du tilføje et Overleaf-projekt som et eksternt depot. Der er nogle få kommandoer nedenfor, som du skal køre for at komme i gang. Bemærk venligst, at Overleaf kun understøtter én lineær historik for hvert projekt. Git-integrationen håndhæver denne begrænsning ved at begrænse antallet af grene til én. Den ene gren er i øjeblikket hårdkodet til at hedde `master`.

1. Først antager vi, at du har et git-depot på din computer i en mappe kaldet `my-paper`. (Det kan også være hostet på GitHub, GitLab eller Bitbucket osv., men du skal også have det klonet lokalt.)
2. Opret [et nyt projekt](/latex/da/vidensbase/031-creating-a-document-in-overleaf.md) på Overleaf. Da alt indhold i projektet vil blive overskrevet, skal du bruge projektindstillingen 'Blank', når du opretter dette projekt, og slette `main.tex` filen i Overleaf.
3. Find Git-URL'en for projektet (se [ovenfor](#cloning-your-project-as-a-local-repository)).

   ![Git-bridge-url.png](/files/4d19ad737f08576dbe199e13eb097619315ea47a)
4. Tilføj Git-URL'en for projektet som et eksternt depot i dit lokale projekt.

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

   (Sørg for at bruge dit eget link, ikke eksempellinket.)
5. Hent det seneste indhold fra Overleaf-projektet og merge det ind i din master-branch.

   ```
   $ git checkout master
   $ git pull overleaf master --allow-unrelated-histories --rebase=false
   ```
6. Push dit projekt til Overleaf.

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

   Hvis du vil bruge et andet branchnavn lokalt, f.eks. `my-branch`, kan du pushe dine ændringer med et alias:

   ```
   $ git push overleaf my-branch:master
   ```
7. Besøg projektet på Overleaf. Dine ændringer burde være der. (Du skal måske åbne Overleaf-projektmenuen for at finde ud af, hvilken fil der er blevet sat som hoveddokumentfil, og eventuelt ændre dette første valg.)

### Git-commits og Overleafs Git-integration

Overleaf har et internt [historiksystem](/latex/da/flere-emner/49-using-the-history-feature.md) der muliggør samtidig samarbejde i et Overleaf-projekt. Dette er ikke det samme som Git, så Overleafs Git-integration er i bund og grund en oversættelse fra Overleafs historik- og versionsmekanisme til Git. Dette muliggør mange Git-aktiverede brugsscenarier, men det gør det ikke muligt at arbejde i Overleaf, som om det var en fuldstændig Git-implementering.

#### Hvornår oprettes commits?

Når du udfører en `pull` eller `fetch` kommando, og der ikke findes et commit for den aktuelle projekttilstand, oprettes der dynamisk et nyt commit. Når du `push` filer fra dit lokale depot til den eksterne Overleaf-instans, oprettes der også et commit på det tidspunkt, som vil være synligt i eventuelle fremtidige kloner, du laver af Overleaf-projektet. Når du eller andre redigerer i Overleaf, vil commits ikke blive genereret automatisk, før de er nødvendige.

#### Tving commits

Hvis du gerne vil tvinge et commit til at blive oprettet på et bestemt punkt i Overleaf-historikken, kan du gøre det ved at [mærke en version](/latex/da/flere-emner/49-using-the-history-feature.md) i Overleaf-historikken. Den markerede version får sin egen commit-hash, selv hvis du ikke laver et git pull med det samme. Et commit vil kun blive oprettet ud fra en markering, hvis der ikke er blevet lavet nogen andre commits senere end det Overleaf-historikpunkt, der markeres.

#### Sporing af forfatterskab

Den just-in-time-baserede karakter af commits fra Overleafs Git-integration betyder, at hvis der har været flere ændringer på Overleaf-siden, før et commit genereres, vil forfatteren til den seneste ændring blive angivet som forfatter til committet.

Når man arbejder med medforfattere, er det nyttigt at oprette en markering (som genererer et commit) efter hver samarbejdspartner har færdiggjort en væsentlig opdatering - dette skaber en række commits, der er synlige i Git, og som bedst afspejler de ændringer, der sker i Overleaf.

### Synkronisering med en anden ekstern kilde

Overleafs Git-integration gør det muligt for dit Overleaf-projekt at fungere som et eksternt depot for lokale depoter. Du ønsker dog måske at synkronisere dit Overleaf-projekt med en anden ekstern kilde, hostet på GitHub, GitLab eller en anden Git-hostingtjeneste.

Hvis du synkroniserer dit projekt med et depot hostet på GitHub (<https://github.com/>), vil du måske bruge Overleafs direkte [GitHub-synkronisering](/latex/da/vidensbase/044-github-synchronization.md) funktion.

Hvis du synkroniserer dit projekt med GitLab, GitHub Enterprise eller en anden host, kan du bruge Overleafs Git-integration til at oprette et mellemliggende lokalt depot.

Ved at følge instruktionerne ovenfor for [at klone dit projekt](#cloning-your-project-as-a-local-repository) eller [at koble et projekt til et eksisterende depot](#creating-an-overleaf-project-from-an-existing-git-repository), vil du have et lokalt depot, som kan pushe/hente ændringer fra Overleaf. Du kan derefter tilføje en anden ekstern kilde til dette depot, som peger på dit hostede depot. Dit lokale depot skal have to eksterne kilder, så det peger både på din Git-host og Overleaf-projektet.

Selvom der ikke vil være nogen direkte forbindelse mellem Overleaf-projektet og dit Git-depot, vil dette gøre det muligt at holde dem synkroniserede.

![Git other remote.png](/files/31434f1040f7daee6eb1ad4bfd55255892a80cfe)

### Tilføj et Overleaf-projekt som en Git-submodul

Hvert projekt på Overleaf fungerer som et uafhængigt Git-depot, men hvis du vil organisere flere sådanne projekter i ét Git-repo, kan du tilføje repoet for hvert projekt som en Git-submodul på den sædvanlige måde. Du kan derefter pushe og hente hvert submoduldepot til/fra Overleaf individuelt og stadig have dem samlet som submoduler i et større projekt.

**Bemærk:** Selvom Overleaf-projekter kan være submoduler i et andet depot, kan Overleaf-projekter selv ikke indeholde andre submoduler.

### Kendte begrænsninger

**Branches**: Overleafs Git-system understøtter ikke branching.

**Symlinks**: Overleafs Git-system håndterer ikke symlinks særligt godt. Et symlink kan pushes ind i et Overleaf-projekt, men vil blive konverteret til en almindelig fil og vil overskrive det lokale symlink næste gang projektet hentes.

**Tags**: Overleafs Git-system understøtter ikke tagging.

**Filtilladelser**: Overleafs Git-system bevarer ikke eksekveringstilladelser. Som løsning kan du køre `git config core.fileMode false` i din lokale klon af depotet. Derefter kan du nulstille eksekveringstilladelserne på eventuelle berørte filer. På den måde bliver de ikke ændret igen ved efterfølgende Git-handlinger.

**Git LFS:** Overleaf-projekter understøtter ikke Git Large File Storage.

**Git-submoduler:** Overleaf-projekter kan fungere som Git-submoduler i andre depoter, men kan ikke indeholde andre Git-submoduler. For at referere til filer fra andre projekter anbefales det at bruge [funktionen til at tilføje fra et andet projekt](/latex/da/vidensbase/009-can-i-share-files-e.g.-.bib-and-some-graphics-across-my-projects.md).

**Omdøbning af mapper**: Hvis en bruger omdøber en mappe og pusher ændringen til Overleaf, vil projektet bevare en tom mappe med det gamle navn ud over den nye mappe. (For eksempel vil omdøbning af images/ til img/ efterlade to mapper i projektet: img/ med billedfilerne og images/, som vil være tom. Dette kan give problemer, når en bruger omdøber en mappe og opretter en ny fil med samme navn som den gamle mappe i ét commit. Overleafs Git-system vil afvise dette commit. I dette tilfælde anbefaler vi at opdele committet i to dele og slette den resterende mappe.

**Omdøbning af filer og flytning af filer:** Et filomdøbning i dit lokale depot bliver til en sletning og oprettelse på Overleaf-siden. Dette kan resultere i tab af metadata, der er knyttet til en fil på Overleaf-siden, hvilket medfører sletning af registrerede ændringer og kommentarer. Det anbefales ikke at flytte eller omdøbe filer på Git-siden, som har registrerede Overleaf-ændringer eller kommentarer.

**Registrerede ændringer og kommentarer**: Desværre kan pushes fra Git til Overleaf resultere i tab eller forskydning af registrerede ændringer og kommentarer; derfor anbefaler vi ikke at blande aktiv brug af Git med brugen af registrerede ændringer og/eller kommentarer.

### Fejlfinding

#### Fejlmeddelelser om, at depotet ikke blev fundet

Hvis du ser en fejl om, at depotet ikke blev fundet, er det sandsynligvis, fordi der bruges den forkerte URL. Den korrekte URL kan findes ved at klikke på Git-indstillingen i menuen inde i projektet. For Overleaf Cloud er Git-integration en premiumfunktion, så den er kun tilgængelig, hvis projektejeren har et betalt abonnement på Overleaf eller har fået adgang til funktionen (for eksempel ved at deltage i tidlig betatestning).

#### Fejlmeddelelser om autentificering mislykkedes

Se venligst fejlfindinginstruktionerne for [Godkendelsestokens til Git-integration](/latex/da/vidensbase/042-git-integration-authentication-tokens.md) eller [adgangskodeautentificering for Git-integration](/latex/da/vidensbase/043-git-integration-password-based-authentication.md) afhængigt af hvilken loginmetode du bruger.

#### Ratelimits

Git Bridge-ratelimitering forekommer generelt ikke, når Git-handlinger udføres manuelt. Nogle Git-klienter kan konfigureres til automatisk at forespørge fjernlagre for ændringer, hvilket i nogle tilfælde kan føre til ratelimiting-fejl. Generelt vil det løse disse problemer at deaktivere enhver automatiseret forespørgsel eller reducere hyppigheden af Git-handlinger.

#### Fejl ved push af referencer

En fejl ved at pushe nogle referencer til det eksterne projekt kan skyldes [at en projekts begrænsninger for filstørrelse eller antal overskrides](/latex/da/vidensbase/119-overleaf-plan-limits.md) eller ved at inkludere filtyper, der ikke understøttes (for eksempel symlinks eller LFS). Gennemgå venligst de kendte begrænsninger nævnt ovenfor for at identificere eventuelle problemfiler i committet.

I nogle tilfælde kan en øgning af **postBuffer** indstillingen afhjælpe fejl ved push af referencer fra dit lokale depot til Overleaf-projektet.

Først kan du tjekke din aktuelle indstilling med kommandoen:

```
     git config http.postBuffer
```

Hvis der ikke er noget output, betyder det, at standardværdien på 1 MB bruges.

Prøv derefter kommandoen

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

som i stedet vil sætte værdien til 10 MB.

Nu kan du prøve at pushe committet (til enten det oprindelige projekt eller det nye). Hvis det ikke virker, kan du vende tilbage til din tidligere indstilling eller fjerne indstillingen med:

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

#### Timeouts

Git-commits, der indeholder et stort antal ændringer, kan potentielt føre til timeouts. Hvis du oplever en timeout, så prøv at opdele committet i mindre ændringer. Hvis problemet fortsætter, kan du overveje at sætte **postBuffer** til 10 MB som beskrevet ovenfor.


---

# 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/da/vidensbase/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.
