> 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/no/kunnskapsbase/040-git-integration.md).

# Git-integrasjon

**Overleafs Git-integrasjon** er en [premiumfunksjon](/latex/no/kunnskapsbase/120-overleaf-premium-features.md). Overleafs premiumfunksjoner er tilgjengelige for deltakere i [Overleaf Commons](https://www.overleaf.com/for/universities), medlemmer av gruppe [abonnementer](https://www.overleaf.com/for/groups), og eiere av individuelle [abonnementer](https://www.overleaf.com/user/subscription/plans). Git-integrasjon er tilgjengelig på Overleaf Cloud og Overleaf Server Pro (versjon 4.0 og nyere).

### Hva er Overleafs Git-integrasjon?

Overleafs Git-integrasjon lar deg hente en Git-URL fra Overleaf-prosjektet ditt og behandle det som et eksternt Git-repository (repo). Du kan klone prosjektet ditt til et lokalt Git-repository og arbeide med prosjektet lokalt, pushe endringer fra den lokale maskinen din til prosjektet ditt og pullle oppdateringer som skjer i Overleafs nettbaserte editor til det lokale repoet ditt.

Dette lar deg arbeide med prosjektet lokalt når online-arbeid ikke er mulig, bruke en annen lokal editor du selv velger når du jobber med et Overleaf-prosjekt, eller enkelt legge til utdata fra annen lokal programvare i Overleaf-prosjektet ditt.

Du kan hente Git-URL-en og klonekommandoen for prosjektet ditt fra Git-alternativet i Overleaf-menyen for prosjektet ditt.

![Prosjektmeny git.png](/files/61f1b419920400cdd094d3499b012bb74af1fc54)

### Hvordan autentisere når du bruker Git-integrasjonen

Når du utfører en Git-operasjon som klone, pull eller push til det eksterne Overleaf-prosjektet ditt, blir du bedt om å autentisere.

For å få tilgang til Overleaf-prosjektet ditt fra Git må du bruke token-basert autentisering fra Overleaf. For trinnvise instruksjoner, se: [Token-basert autentisering](/latex/no/kunnskapsbase/042-git-integration-authentication-tokens.md).

### Kloning av prosjektet ditt som et lokalt repository

Fra [**Meny**](/latex/no/kunnskapsbase/148-using-the-overleaf-project-menu.md) i prosjektet ditt kan du velge Git fra synkroniseringsalternativene. Dette åpner en dialog som viser `git clone` kommandoen du skal bruke når du oppretter det lokale repositoryet ditt.

![Prosjektmeny git.png](/files/61f1b419920400cdd094d3499b012bb74af1fc54)

Alternativt kan du finne Git-URL-en fra prosjekt-URL-en (URL-en i nettleserens adressefelt når du er inne i et prosjekt).

#### Overleaf Cloud

Hvis du bruker Overleaf Cloud og prosjekt-URL-en din ser slik ut:

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

Da vil Git-URL-en du skal bruke for å klone prosjektet være

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

Og kommandoen som brukes til å klone prosjektet inn i et lokalt Git-repository vil være:

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

**Merk**: du kan bli bedt om et brukernavn og passord. Se [passordautentisering for Git-integrasjon](/latex/no/kunnskapsbase/043-git-integration-password-based-authentication.md)

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

**Merk**: Git-bridge-integrasjonen er ikke aktivert som standard i Server Pro. Se vår [Git-integrasjon](https://github.com/overleaf/overleaf/wiki/Git-Integration) veiledning for instruksjoner om hvordan du aktiverer den.

Hvis du bruker Overleaf Server Pro og prosjekt-URL-en din ser slik ut:

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

Da vil Git-URL-en som brukes når prosjektet klones være:

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

Og kommandoen som brukes til å klone prosjektet inn i et lokalt Git-repository ved bruk av Git-kommandolinjen vil være:

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

**Merk**: Du kan bli bedt om et passord. Se: [autentiseringstokener for Git-integrasjon](/latex/no/kunnskapsbase/042-git-integration-authentication-tokens.md)

### Opprette et Overleaf-prosjekt fra et eksisterende Git-repository

Hvis du har et eksisterende repository, kan du legge til et Overleaf-prosjekt som et eksternt repository. Det er noen kommandoer nedenfor du må kjøre for å komme i gang. Merk at Overleaf bare støtter én lineær historikk for hvert prosjekt. Git-integrasjonen håndhever denne begrensningen ved å begrense antallet grener til én. Denne ene grenen er for øyeblikket hardkodet til å hete `master`.

1. Først antar vi at du har et git-repository på datamaskinen din i en mappe som heter `my-paper`. (Det kan også være hostet på GitHub, GitLab eller Bitbucket osv., men du må også ha det klonet lokalt.)
2. Opprett [et nytt prosjekt](/latex/no/kunnskapsbase/031-creating-a-document-in-overleaf.md) på Overleaf. Siden alt innhold i prosjektet vil bli overskrevet, bruk 'Blank'-prosjektalternativet når du oppretter dette prosjektet, og slett `main.tex` filen i Overleaf.
3. Finn Git-URL-en for prosjektet (se [over](#cloning-your-project-as-a-local-repository)).

   ![Git-bridge-url.png](/files/14d5f543992473a3c9c9780b6cbdbc27fb6726c1)
4. Legg til Git-URL-en for prosjektet som et eksternt repository i det lokale prosjektet ditt.

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

   (Pass på å bruke din egen lenke, ikke eksempel-lenken.)
5. Hent det nyeste innholdet fra Overleaf-prosjektet og flett det inn i master-branchen din.

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

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

   Hvis du vil bruke et annet branchnavn lokalt, for eksempel `my-branch`, kan du pushe endringene dine med et alias:

   ```
   $ git push overleaf my-branch:master
   ```
7. Besøk prosjektet på Overleaf. Endringene dine skal være der. (Du må kanskje åpne Overleaf-prosjektmenyen for å finne ut hvilken fil som er satt som hoveddokumentfil, og eventuelt endre dette opprinnelige valget.)

### Git-commits og Overleafs Git-integrasjon

Overleaf har et internt [historiesystem](/latex/no/flere-emner/49-using-the-history-feature.md) som muliggjør samtidig samarbeid i et Overleaf-prosjekt. Dette er ikke det samme som Git, så Overleafs Git-integrasjon er i praksis en oversettelse fra Overleafs historikk- og versjonsmekanisme til Git. Dette åpner for mange Git-aktiverte bruksområder, men det lar deg ikke arbeide i Overleaf som om det var en fullverdig Git-implementasjon.

#### Når blir commits opprettet?

Når du utfører en `pull` eller `fetch` kommando, hvis det ikke finnes noen commit for den nåværende prosjektstatusen, opprettes en ny commit dynamisk. Når du `push` filer fra det lokale repositoryet ditt til Overleaf-fjernlageret, opprettes det også en commit på det tidspunktet, og den vil være synlig i alle fremtidige kloner du gjør av Overleaf-prosjektet. Når du eller andre redigerer i Overleaf, vil commits ikke bli generert automatisk før det er nødvendig.

#### Tvinge commits

Hvis du ønsker å tvinge fram at en commit opprettes på et bestemt punkt i Overleaf-historikken, kan du gjøre det ved å [gi en versjon en etikett](/latex/no/flere-emner/49-using-the-history-feature.md) i Overleaf-historikken. Den etiketterte versjonen får sin egen commit-hash selv om du ikke gjør en git pull med en gang. En commit vil bare bli opprettet fra en etikett hvis det ikke har vært gjort noen andre commits mer nylig enn Overleaf-historikkpunktet som får etiketten.

#### Sporing av forfatterskap

Den just-in-time-baserte måten commits fra Overleaf Git-integrasjonen opprettes på, betyr at hvis det har vært flere endringer på Overleaf-siden før en commit genereres, vil forfatteren av den siste endringen bli oppført som forfatteren av commiten.

Når du jobber med medforfattere, er det nyttig å opprette en etikett (som genererer en commit) etter at hver samarbeidspartner har fullført en betydelig oppdatering – dette oppretter en sekvens av commits som er synlige i Git, og som best gjenspeiler endringene som skjer i Overleaf.

### Synkronisering med et annet eksternt repository

Overleafs Git-integrasjon lar Overleaf-prosjektet ditt fungere som et eksternt repository for lokale repositories. Du kan imidlertid ønske å synkronisere Overleaf-prosjektet ditt med et annet eksternt repository, hostet på GitHub, GitLab eller en annen Git-hosting-tjeneste.

Hvis du synkroniserer prosjektet ditt med et repository som er hostet på GitHub (<https://github.com/>), kan det hende du vil bruke Overleafs direkte [GitHub-synkronisering](/latex/no/kunnskapsbase/044-github-synchronization.md) funksjon.

Hvis du synkroniserer prosjektet ditt med GitLab, GitHub Enterprise eller en annen vert, kan du bruke Overleafs Git-integrasjon til å sette opp et mellomliggende lokalt repository.

Ved å følge instruksjonene ovenfor for [å klone prosjektet ditt](#cloning-your-project-as-a-local-repository) eller [å koble et prosjekt til et eksisterende repository](#creating-an-overleaf-project-from-an-existing-git-repository), vil du ha et lokalt repository som kan pushe/pulle endringer fra Overleaf. Deretter kan du legge til et andre eksternt repository i dette repositoryet som peker til det hostede repositoryet ditt. Det lokale repositoryet ditt må ha to eksterne repositories slik at det peker både til Git-verten din og Overleaf-prosjektet.

Selv om det ikke vil være noen direkte forbindelse mellom Overleaf-prosjektet og Git-repositoryet ditt, vil dette gjøre det mulig å holde dem synkronisert.

![Git other remote.png](/files/09e812e7889638656b19b87de622f7435de35f1e)

### Legg til et Overleaf-prosjekt som en Git-submodul

Hvert prosjekt på Overleaf fungerer som et uavhengig Git-repository, men hvis du vil organisere flere slike prosjekter i ett Git-repo, kan du legge til repoet for hvert prosjekt som en Git-submodul på vanlig måte. Du kan deretter pushe og pulle hver submodul til/fra Overleaf individuelt, og fortsatt ha dem samlet som submoduler i et større prosjekt.

**Merk:** Selv om Overleaf-prosjekter kan være submoduler i et annet repository, kan ikke Overleaf-prosjekter selv inneholde andre submoduler.

### Kjente begrensninger

**Grener**: Overleafs Git-system støtter ikke forgrening.

**Symlinks**: Overleafs Git-system håndterer ikke symlinks særlig godt. En symlink kan pushes inn i et Overleaf-prosjekt, men vil bli konvertert til en vanlig fil og vil overskrive den lokale symlinken neste gang prosjektet blir pulled.

**Tagger**: Overleafs Git-system støtter ikke tagging.

**Filtillatelser**: Overleafs Git-system bevarer ikke kjøretilatelser. For å omgå dette kan du kjøre `git config core.fileMode false` i den lokale klonen din av repositoryet. Deretter kan du tilbakestille kjøretilatelsene på berørte filer. På denne måten vil de ikke bli endret igjen ved senere Git-operasjoner.

**Git LFS:** Overleaf-prosjekter støtter ikke Git Large File Storage.

**Git-submoduler:** Overleaf-prosjekter kan fungere som Git-submoduler i andre repositories, men kan ikke inneholde andre Git-submoduler. For å referere til filer fra andre prosjekter anbefales det å bruke [funksjonen for å legge til fra et annet prosjekt](/latex/no/kunnskapsbase/009-can-i-share-files-e.g.-.bib-and-some-graphics-across-my-projects.md).

**Gi nytt navn til mapper**: Hvis en bruker gir nytt navn til en mappe og pusher endringen til Overleaf, vil prosjektet beholde en tom mappe med det gamle navnet, i tillegg til den nye mappen. (For eksempel vil å gi nytt navn fra images/ til img/ etterlate to mapper i prosjektet: img/ som inneholder bildefilene, og images/, som vil være tom. Dette kan skape problemer når en bruker gir nytt navn til en mappe og oppretter en ny fil med samme navn som den gamle mappen, i én commit. Overleafs Git-system vil avvise denne commiten. I dette tilfellet anbefaler vi å dele opp commiten i to deler og slette den gjenværende mappen.

**Gi nytt navn til filer og flytte filer:** Et filnavnbytte i det lokale repositoryet ditt blir til en sletting og en oppretting på Overleaf-siden. Dette kan føre til tap av metadata knyttet til en fil på Overleaf-siden, noe som medfører at sporede endringer og kommentarer slettes. Det anbefales ikke å flytte eller gi nytt navn til filer på Git-siden som har sporede endringer eller kommentarer i Overleaf.

**Spor endringer og kommentarer**: Dessverre kan push fra Git til Overleaf føre til tap eller forskyvning av sporede endringer og kommentarer; derfor anbefaler vi ikke å kombinere aktiv bruk av Git med bruk av sporede endringer og/eller kommentarer.

### Feilsøking

#### Feil om at repositoryet ikke ble funnet

Hvis du ser en feil om at repositoryet ikke ble funnet, er det sannsynlig at feil URL brukes. Den riktige URL-en finner du ved å klikke på Git-alternativet i menyen inne i prosjektet. For Overleaf Cloud er Git-integrasjon en premium-funksjon, så den vil bare være tilgjengelig hvis prosjekteieren har et betalt abonnement på Overleaf eller har fått tilgang til funksjonen (for eksempel ved å delta i tidlig betatesting).

#### Feil ved autentisering

Se feilsøkingsinstruksjonene for [autentiseringstokener for Git-integrasjon](/latex/no/kunnskapsbase/042-git-integration-authentication-tokens.md) eller [passordautentisering for Git-integrasjon](/latex/no/kunnskapsbase/043-git-integration-password-based-authentication.md) avhengig av hvilken påloggingsmetode du bruker.

#### Hastighetsbegrensninger

Hastighetsbegrensning i Git Bridge skjer vanligvis ikke når Git-operasjoner utføres manuelt. Noen Git-klienter kan konfigureres til automatisk å sjekke eksterne repositories for endringer, noe som i noen tilfeller kan føre til feil på grunn av hastighetsbegrensning. Vanligvis vil det løse disse problemene å deaktivere all automatisert sjekking eller redusere hyppigheten av Git-operasjoner.

#### Feil ved pushing av referanser

At en referanse ikke kan pushes til det eksterne prosjektet kan skyldes [at filstørrelsen eller antallsbegrensningene for et prosjekt er overskredet](/latex/no/kunnskapsbase/119-overleaf-plan-limits.md) eller at det er inkludert filtyper som ikke støttes (for eksempel symlinks eller LFS). Gå gjennom de kjente begrensningene som er listet opp ovenfor for å identifisere eventuelle problemfiler i commiten.

I noen tilfeller kan det å øke **postBuffer** -innstillingen løse feil ved pushing av referanser fra det lokale repositoryet ditt til Overleaf-prosjektet.

Først kan du sjekke den nåværende innstillingen med kommandoen:

```
     git config http.postBuffer
```

Hvis det ikke kommer noen utdata, betyr det at standardverdien på 1 MB brukes.

Prøv deretter kommandoen

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

som i stedet setter verdien til 10 MB.

Nå kan du prøve å pushe commiten (til enten det opprinnelige prosjektet eller det nye). Hvis det ikke fungerer, kan du gå tilbake til den tidligere innstillingen eller fjerne innstillingen med:

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

#### Tidsavbrudd

Git-commits som inkluderer et stort antall endringer kan potensielt føre til tidsavbrudd. Hvis du opplever et tidsavbrudd, kan du prøve å dele commiten opp i mindre endringer. Hvis problemet vedvarer, bør du vurdere å sette **postBuffer** postBuffer-innstillingen 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/no/kunnskapsbase/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.
