> 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/sv/kunskapsbas/040-git-integration.md).

# Git-integration

**Overleafs Git-integration** är en [premiumfunktion](/latex/sv/kunskapsbas/120-overleaf-premium-features.md). Overleafs premiumfunktioner är tillgängliga för deltagare i [Overleaf Commons](https://www.overleaf.com/for/universities), medlemmar i grupp [prenumerationer](https://www.overleaf.com/for/groups), och ägare av individuella [prenumerationer](https://www.overleaf.com/user/subscription/plans). Git-integration är tillgänglig på Overleaf Cloud och Overleaf Server Pro (version 4.0 och senare).

### Vad är Overleafs Git-integration?

Overleafs Git-integration låter dig hämta en Git-URL från ditt Overleaf-projekt och behandla det som ett fjärr-Git-arkiv (repo). Du kan klona ditt projekt till ett lokalt Git-arkiv och arbeta med ditt projekt lokalt, skicka ändringar till ditt projekt från din lokala dator och hämta uppdateringar som sker i Overleafs onlineeditor till ditt lokala repo.

Detta gör att du kan arbeta med ditt projekt lokalt de gånger då arbete online inte är möjligt, använda en annan lokal editor som du själv väljer när du arbetar med ett Overleaf-projekt, eller enkelt lägga till utdata från annan lokal programvara i ditt Overleaf-projekt.

Du kan hämta Git-URL:en och klonkommandot för ditt projekt från Git-alternativet i projektets Overleaf-meny.

![Meny för projektet git.png](/files/71f14a623b140337778f1305d2aca3f8d193fa98)

### Hur man autentiserar när man använder Git-integrationen

När du utför en Git-operation, som clone, pull eller push, till ditt fjärranslutna Overleaf-projekt, kommer du att bli ombedd att autentisera dig.

För att komma åt ditt Overleaf-projekt från Git måste du använda Overleafs tokenbaserade autentisering. För steg-för-steg-instruktioner, se: [Tokenbaserad autentisering](/latex/sv/kunskapsbas/042-git-integration-authentication-tokens.md).

### Klona ditt projekt som ett lokalt arkiv

Från [**Meny**](/latex/sv/kunskapsbas/148-using-the-overleaf-project-menu.md) i ditt projekt kan du välja Git bland synkroniseringsalternativen. Detta öppnar en dialog som visar `git clone` kommandot som ska användas när du skapar ditt lokala arkiv.

![Meny för projektet git.png](/files/71f14a623b140337778f1305d2aca3f8d193fa98)

Alternativt kan du hitta Git-URL:en från projekt-URL:en (URL:en i webbläsarens adressfält när du är i ett projekt).

#### Overleaf Cloud

Om du använder Overleaf Cloud och din Overleaf-projekt-URL ser ut så här:

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

Då kommer Git-URL:en som ska användas för att klona projektet att vara

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

Och kommandot som används för att klona projektet till ett lokalt Git-arkiv kommer att vara:

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

**Obs**: du kan bli ombedd att ange användarnamn och lösenord. Se [lösenordsautentisering för Git-integrationen](/latex/sv/kunskapsbas/043-git-integration-password-based-authentication.md)

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

**Obs**: Git-bridge-integrationen är inte aktiverad som standard i Server Pro. Se vår [Git-integration](https://github.com/overleaf/overleaf/wiki/Git-Integration) guide för instruktioner om hur du aktiverar den.

Om du använder Overleaf Server Pro och din projekt-URL ser ut så här:

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

Då kommer Git-URL:en som används när projektet klonas att vara:

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

Och kommandot som används för att klona projektet till ett lokalt Git-arkiv med hjälp av Git-kommandoraden kommer att vara:

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

**Obs**: Du kan bli ombedd att ange ett lösenord. Se: [autentiseringstoken för Git-integrationen](/latex/sv/kunskapsbas/042-git-integration-authentication-tokens.md)

### Skapa ett Overleaf-projekt från ett befintligt Git-arkiv

Om du har ett befintligt arkiv kan du lägga till ett Overleaf-projekt som ett fjärrarkiv. Det finns några kommandon nedan som du behöver köra för att komma igång. Observera att Overleaf endast stöder en linjär historik för varje projekt. Git-integrationen upprätthåller denna begränsning genom att begränsa antalet grenar till en. Den ena grenen är för närvarande hårdkodad till att heta `master`.

1. Först antar vi att du har ett git-arkiv på din dator i en mapp som heter `my-paper`. (Det kan också vara värd på GitHub, GitLab eller Bitbucket osv., men du behöver också ha det klonat lokalt.)
2. Skapa [ett nytt projekt](/latex/sv/kunskapsbas/031-creating-a-document-in-overleaf.md) på Overleaf. Eftersom allt innehåll i projektet kommer att skrivas över, använd alternativet 'Blank' när du skapar detta projekt och ta bort `main.tex` filen i Overleaf.
3. Hitta Git-URL:en för projektet (se [ovan](#cloning-your-project-as-a-local-repository)).

   ![Git-bridge-url.png](/files/06cb018f5c428b93197ce42ae650389896c109cf)
4. Lägg till Git-URL:en för projektet som ett fjärrarkiv i ditt lokala projekt.

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

   (Se till att använda din egen länk, inte exempel-länken.)
5. Hämta det senaste innehållet från Overleaf-projektet och slå ihop det med din master-gren.

   ```
   $ git checkout master
   $ git pull overleaf master --allow-unrelated-histories --rebase=false
   ```
6. Pusha ditt projekt till Overleaf.

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

   Om du vill använda ett annat grennamn lokalt, t.ex. `my-branch`, kan du pusha dina ändringar med ett alias:

   ```
   $ git push overleaf my-branch:master
   ```
7. Besök projektet på Overleaf. Dina ändringar bör finnas där. (Du kan behöva öppna Overleafs projektmeny för att hitta vilken fil som har ställts in som huvuddokumentfil, och eventuellt ändra detta första val.)

### Git-commits och Overleafs Git-integration

Overleaf har ett internt [historiesystem](/latex/sv/fler-amnen/49-using-the-history-feature.md) som möjliggör samtidig samarbete inom ett Overleaf-projekt. Detta är inte samma sak som Git, så Overleafs Git-integration är i praktiken en översättning från Overleafs mekanism för historik och versionshantering till Git. Detta möjliggör många användningsfall som stöds av Git, men det gör inte att du kan arbeta i Overleaf som om det vore en fullständig Git-implementation.

#### När skapas commits?

När du kör ett `pull` eller `fetch` kommando, om ingen commit finns för projektets aktuella tillstånd, skapas en ny commit dynamiskt. När du `pushar` filer från ditt lokala arkiv till Overleaf-fjärrarkivet, skapas också en commit då, vilken kommer att vara synlig i alla framtida kloningar du gör av Overleaf-projektet. När du eller andra redigerar i Overleaf kommer commits inte att genereras automatiskt förrän det behövs.

#### Tvinga fram commits

Om du vill tvinga fram att en commit skapas vid en viss punkt i Overleaf-historiken kan du göra det genom att [märkning av en version](/latex/sv/fler-amnen/49-using-the-history-feature.md) i Overleaf-historiken. Den märkta versionen får sitt eget commit-hash även om du inte gör en git pull direkt. En commit kommer endast att skapas från en etikett om det inte har gjorts några andra commits senare än den punkt i Overleaf-historiken som märks.

#### Spåra författarskap

Det just-in-time-baserade sättet som commits skapas genom Overleafs Git-integration innebär att om det har gjorts flera ändringar på Overleaf-sidan innan en commit genereras, kommer författaren till den senaste ändringen att anges som commitens författare.

När du arbetar med medförfattare är det hjälpsamt att skapa en etikett (som genererar en commit) efter att varje medarbetare har slutfört en betydande uppdatering - detta skapar en sekvens av commits som är synliga i Git och som bäst motsvarar de ändringar som sker i Overleaf.

### Synkronisering med ett annat fjärrarkiv

Overleafs Git-integration låter ditt Overleaf-projekt fungera som ett fjärrarkiv för lokala arkiv. Du kanske dock vill synkronisera ditt Overleaf-projekt med ett annat fjärrarkiv, som är hostat på GitHub, GitLab eller någon annan Git-hostingstjänst.

Om du synkroniserar ditt projekt med ett arkiv som är hostat på GitHub (<https://github.com/>), kanske du vill använda Overleafs direkta [GitHub-synkronisering](/latex/sv/kunskapsbas/044-github-synchronization.md) funktion.

Om du synkroniserar ditt projekt med GitLab, GitHub Enterprise eller någon annan värd, kan du använda Overleafs Git-integration för att sätta upp ett lokalt mellanliggande arkiv.

Genom att följa instruktionerna ovan för [klona ditt projekt](#cloning-your-project-as-a-local-repository) eller [koppla ett projekt till ett befintligt arkiv](#creating-an-overleaf-project-from-an-existing-git-repository), kommer du att ha ett lokalt arkiv som kan pusha/hämta ändringar från Overleaf. Du kan sedan lägga till ett andra fjärrarkiv till detta arkiv som pekar på ditt hostade arkiv. Ditt lokala arkiv behöver ha två fjärrarkiv så att det pekar både på din Git-värd och på Overleaf-projektet.

Även om det inte kommer att finnas någon direkt anslutning mellan Overleaf-projektet och ditt Git-arkiv, gör detta att du kan hålla dem synkroniserade.

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

### Lägg till ett Overleaf-projekt som en Git-undermodul

Varje projekt på Overleaf fungerar som ett självständigt Git-arkiv, men om du vill organisera flera sådana projekt i ett Git-arkiv kan du lägga till arkivet för varje projekt som en Git-undermodul på vanligt sätt. Du kan sedan pusha och hämta varje undermodulsarkiv till/från Overleaf individuellt och ändå ha dem samlade som undermoduler i ett större projekt.

**Obs:** Även om Overleaf-projekt kan vara undermoduler inom ett annat arkiv, kan Overleaf-projekt i sig inte innehålla andra undermoduler.

### Kända begränsningar

**Grenar**: Overleafs Git-system stöder inte branching.

**Symboliska länkar**: Overleafs Git-system hanterar inte symboliska länkar särskilt bra. En symbolisk länk kan pushas till ett Overleaf-projekt, men kommer att konverteras till en vanlig fil och kommer att skriva över den lokala symboliska länken nästa gång projektet hämtas.

**Taggar**: Overleafs Git-system stöder inte taggning.

**Filbehörigheter**: Overleafs Git-system bevarar inte körbehörigheter. För att kringgå detta kan du köra `git config core.fileMode false` i din lokala klon av arkivet. Sedan kan du återställa körbehörigheterna för alla berörda filer. På så sätt kommer de inte att ändras igen vid efterföljande Git-operationer.

**Git LFS:** Overleaf-projekt stöder inte Git Large File Storage.

**Git-undermoduler:** Overleaf-projekt kan fungera som Git-undermoduler i andra arkiv, men kan inte innehålla andra Git-undermoduler. För att referera till filer från andra projekt rekommenderas det att använda [funktionen lägg till från ett annat projekt](/latex/sv/kunskapsbas/009-can-i-share-files-e.g.-.bib-and-some-graphics-across-my-projects.md).

**Byta namn på mappar**: Om en användare byter namn på en mapp och pushar ändringen till Overleaf, kommer projektet att behålla en tom mapp med det gamla namnet, utöver den nya mappen. (Om man till exempel byter namn på images/ till img/ kommer två mappar att finnas kvar i projektet: img/ som innehåller bildfilerna, och images/, som kommer att vara tom. Detta kan orsaka problem när en användare byter namn på en mapp och skapar en ny fil med samma namn som den gamla mappen, i en och samma commit. Overleafs Git-system kommer att avvisa denna commit. I detta fall rekommenderar vi att dela upp commiten i två delar och ta bort den återstående mappen.

**Byta namn på filer och flytta filer:** Ett filnamnsbyte i ditt lokala arkiv blir en radering och en skapelse på Overleaf-sidan. Detta kan leda till förlust av metadata som är kopplad till en fil på Overleaf-sidan, vilket orsakar att spårade ändringar och kommentarer tas bort. Det rekommenderas inte att flytta eller byta namn på filer på Git-sidan som har spårade ändringar eller kommentarer i Overleaf.

**Spårade ändringar och kommentarer**: Tyvärr kan pushar från Git till Overleaf leda till förlust eller förskjutning av spårade ändringar och kommentarer; därför rekommenderar vi inte att blanda aktiv användning av Git med användning av spårade ändringar och/eller kommentarer.

### Felsökning

#### Fel: Arkivet hittades inte

Om du ser felet Repository not found är det troligen för att fel URL används. Den korrekta URL:en hittar du genom att klicka på Git-alternativet i menyn i projektet. För Overleaf Cloud är Git-integrationen en premiumfunktion, så den kommer bara att vara tillgänglig om projektägaren har en betald prenumeration på Overleaf eller har fått tillgång till funktionen (till exempel genom att delta i tidiga betatestningar).

#### Fel: autentiseringen misslyckades

Se felsökningsinstruktionerna för [autentiseringstoken för Git-integrationen](/latex/sv/kunskapsbas/042-git-integration-authentication-tokens.md) eller [lösenordsautentisering för Git-integrationen](/latex/sv/kunskapsbas/043-git-integration-password-based-authentication.md) beroende på vilken inloggningsmetod du använder.

#### Hastighetsbegränsningar

Hastighetsbegränsning i Git Bridge inträffar vanligtvis inte när Git-operationer utförs manuellt. Vissa Git-klienter kan konfigureras att automatiskt fråga fjärrarkiv efter ändringar, vilket i vissa fall kan leda till fel på grund av hastighetsbegränsning. I allmänhet bör det hjälpa att inaktivera all automatiserad avfrågning eller minska frekvensen för Git-operationer.

#### Problem med att pusha referenser

Att det inte går att pusha vissa referenser till fjärrprojektet kan orsakas av [att projektets filstorleks- eller antalsbegränsningar överskrids](/latex/sv/kunskapsbas/119-overleaf-plan-limits.md) eller av att man inkluderar filtyper som inte stöds (till exempel symboliska länkar eller LFS). Se igenom de kända begränsningar som listas ovan för att identifiera eventuella problemfiler i commiten.

I vissa fall kan det hjälpa att öka **postBuffer** inställningen för att åtgärda problem med att pusha referenser från ditt lokala arkiv till Overleaf-projektet.

Först kan du kontrollera din nuvarande inställning med kommandot:

```
     git config http.postBuffer
```

Om ingen utdata visas betyder det att standardvärdet 1 MB används.

Försök sedan med kommandot

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

vilket i stället sätter värdet till 10 MB.

Nu kan du försöka pusha commiten (antingen till det ursprungliga projektet eller det nya). Om det inte fungerar kan du återgå till din tidigare inställning eller ta bort inställningen med:

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

#### Timeouts

Git-commits som innehåller ett stort antal ändringar kan potentiellt leda till timeouts. Om du stöter på en timeout, försök att dela upp commiten i mindre ändringar. Om problemet kvarstår kan du överväga att ställa in **postBuffer** till 10 MB enligt beskrivningen ovan.


---

# 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/sv/kunskapsbas/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.
