Skip to main content
Denne funktion er udviklet af ayaka-notes/ayakaleaf-pro og tilpasset af yu-i-i/overleaf-cep. Den er introduceret i v6.2.0 og senere. Den er stadig i betastatus. Vi har brug for din feedback, hvis du oplever problemer.

Opsætning af GitHub-synkronisering

Du skal først aktivere git-bridge, før du kan bruge GitHub-synkronisering.
config/overleaf.rc
Gå til udviklerindstillinger for at oprette din GitHub OAuth-applikation, og kopiér dit CLIENT_ID og din SECRET. Bemærk: Når du opretter OAuth-appen, skal du angive ${OVERLEAF_SITE_URL}/user/github-sync/oauth2/callback i Authorization callback URL. Ayakaleaf Pro bygger den samme adresse ud fra OVERLEAF_SITE_URL, så der er intet at sætte for den i config/variables.env. Tilføj derefter følgende indstillinger til dine Overleaf-miljøvariabelfiler.
config/variables.env
Før du konfigurerer GitHub OAuth-callback-URL’en, skal du sikre dig, at OVERLEAF_SITE_URL er sat korrekt.
Hvis du befinder dig i en region med begrænset netværksadgang, kan det være nødvendigt at konfigurere en proxy for at få adgang til GitHub. Sæt følgende miljøvariabel: GITHUB_SYNC_PROXY_URL=http://10.0.0.1:10808. Sørg for, at din brug af en proxy overholder lokale love og regler.
GITHUB_SYNC_PROXY_URL skal være en almindelig HTTP/HTTPS-videresendelsesproxy (f.eks. HTTP-porten i Clash). GitHub-downloadspejle som gh-proxy.org understøttes ikke.
Brug ikke 127.0.0.1 som proxyvært. Hvis proxyen kører på værtsserveren, skal du bruge serverens LAN-IP-adresse (f.eks. 192.168.1.xx) og sikre dig, at proxyen er konfigureret til at acceptere forbindelser fra enheder på det lokale netværk.

GitHub Enterprise

Understøttelse af GitHub Enterprise er introduceret i v6.3.1 og senere. Tidligere versioner forbinder kun til github.com, og variablerne nedenfor har ingen effekt.
Som standard forbinder GitHub-synkronisering til github.com. For at bruge GitHub Enterprise Server (selvhostet) eller GitHub Enterprise Cloud med dataresidens (GHE.com) skal du sætte GITHUB_SYNC_URL til webadressen for din instans, den adresse du åbner repositories med i browseren.
config/variables.env
REST- og GraphQL-API-endpoints udledes af GITHUB_SYNC_URL på samme måde, som GitHub CLI gør det: Sæt kun API-endpoints, hvis din instans udstiller dem et andet sted, for eksempel bag en API-gateway:
  • Opret OAuth-applikationen på din enterprise-instans (Settings → Developer settings → OAuth Apps). En applikation fra github.com virker ikke der. Callback-URL’en er den samme: ${OVERLEAF_SITE_URL}/user/github-sync/oauth2/callback.
  • GITHUB_SYNC_URL er kun webadressen. Sæt den ikke til en API-adresse som https://api.github.com eller https://HOST/api/v3, og tilføj ikke en organisationssti.
  • Alle tre adresser skal pege på den samme GitHub-instans.
Hvis din instans bruger et certifikat fra en privat CA, skal du montere CA-certifikatet i containeren og pege NODE_EXTRA_CA_CERTS på det, f.eks. NODE_EXTRA_CA_CERTS=/var/lib/overleaf/certs/github-ca.pem.
Forbundne konti og projekter hører til den instans, de blev forbundet med. Før du skifter GITHUB_SYNC_URL til en anden instans, skal du bede brugerne om at fjerne forbindelsen til deres GitHub-konto og projekter.

Hvem kan forbinde og synkronisere

Ligesom på Overleaf Cloud kan kun projektejeren forbinde et projekt med et GitHub-repository. Når det er forbundet, kan alle samarbejdspartnere med redigeringsadgang synkronisere det.
  • Overleaf kommunikerer med GitHub via GitHub-kontoen for den bruger, der synkroniserer, så alle samarbejdspartnere, der synkroniserer, forbinder deres egen GitHub-konto og skal have tilladelse til at pushe til repositoryets standardbranch.
  • Samarbejdspartnere med kun læseadgang kan ikke bruge GitHub-synkronisering for projektet.

Spørgsmål og svar

Svar: Åbn Integrations i editoren, og klik på GitHub. Hvis din GitHub-konto endnu ikke er forbundet, skal du først klikke på Link to your GitHub account. Under Export Project to GitHub skal du angive et repositorynavn, vælge Private under Repository visibility og klikke på Create a GitHub repository.Derefter åbner det samme kort Sync with GitHub, som viser de nye commits i GitHub. Klik på Sync for at committe dine Overleaf-ændringer til standardbranchen og hente GitHub-ændringerne ind i projektet. Synkroniseringen går begge veje, men kører kun, når nogen klikker på Sync; der er ingen planlagt synkronisering. Når begge sider er ændret, merger Overleaf via en midlertidig branch med navnet overleaf-YYYY-MM-DD-HHMMSS. Hvis den merge har en konflikt, skal du selv merge branchen i GitHub og derefter klikke på I have manually merged. Continue.
Svar: Det anbefaler vi ikke. Overleaf registrerer et force push, advarer om det og overtager den omskrevne branch, hvorefter ændringerne foretaget i Overleaf siden sidste synkronisering merges. For at undgå overraskelser bør du beskytte standardbranchen mod force push i repositoryets indstillinger.
Svar: Lad venligst være. Overleaf fortsætter med at synkronisere med den branch, projektet blev forbundet med. For at synkronisere med en anden branch skal du fjerne forbindelsen til projektet og derefter importere repositoryet i et nyt projekt, som bruger den aktuelle standardbranch.
Svar: Denne besked betyder, at serveren ikke kunne nå GitHub, for eksempel på grund af et netværks-, DNS-, TLS- eller proxyproblem. Kør bin/logs web for at se den fulde fejl. Hvis serveren har brug for en proxy for at nå GitHub, skal du sætte GITHUB_SYNC_PROXY_URL.
Svar: Ja. GitHub-synkronisering fornyer ikke udløbne tokens. Med udløbende tokens aktiveret skal brugerne forbinde GitHub igen, hver gang deres token udløber.
Svar: Nej. Tilknytning af en konto sker via brugerens browser, så OAuth-callback-adressen behøver kun at kunne åbnes i brugerens browser. Serveren skal kun kunne nå GitHub; hvis den har brug for en proxy til det, skal du sætte GITHUB_SYNC_PROXY_URL. GitHub kalder aldrig din instans: et projekt synkroniseres kun, når en bruger synkroniserer det i editoren.
Svar: Kontrollér disse punkter i rækkefølge:
  • Åbn Overleaf på præcis den adresse, der er sat i OVERLEAF_SITE_URL. GitHub sender dig tilbage til ${OVERLEAF_SITE_URL}/user/github-sync/oauth2/callback, og dit login findes kun på den adresse, du startede fra, så en anden vært, IP-adresse eller port ender på login-siden eller på »Restricted, sorry you don’t have permission to load this page«.
  • OAuth-appens Authorization callback URL skal være ${OVERLEAF_SITE_URL}/user/github-sync/oauth2/callback med samme skema, vært og port.
  • En fejlside med Failed to obtain access token from Git server betyder, at GitHub ikke returnerede et token: kontrollér GITHUB_SYNC_CLIENT_ID og GITHUB_SYNC_CLIENT_SECRET, og at serveren kan nå GitHub. Kør bin/logs web for at se den fulde fejl.
Når du har ændret config/variables.env, skal du køre bin/up for at genoprette containerne.
Svar: Overleaf importerer zip-arkivet for den seneste commit på repositoryets standardbranch, og denne fejl betyder, at arkivet ikke indeholder nogen fil, som Overleaf kan importere. Kontrollér standardbranchen på GitHub:
  • Den indeholder projektfilerne og ikke kun filer, som Overleaf springer over ved import: dotfiler som .gitignore og .gitmodules (.latexmkrc bevares) og buildfiler som *.aux, *.log, *.bbl, *.synctex.gz, *.doc og *.docx.
  • Filerne ligger ikke kun i Git-submoduler. GitHubs arkiv efterlader submoduler som tomme mapper.
  • De filer, du forventer, ligger på standardbranchen og ikke på en anden branch. Import bruger altid standardbranchen.
Svar: V1_HISTORY_URL er sat til http://sharelatex:3054, en værdi, som ældre versioner af denne dokumentation angav. Port 3054 er tjenesten project-history, som kun lytter inde i containeren, mens V1_HISTORY_URL skal pege på history-v1. Overleaf gemmer alle binære filer (billeder, PDF’er) fra det importerede repository i history-v1, så importen mislykkes; upload af en sådan fil i editoren mislykkes på samme måde. Sæt i din docker-compose.yml V1_HISTORY_URL: "http://sharelatex:3100/api" på tjenesten sharelatex (se Git-integration), og genopret containeren. Toolkit sætter allerede denne værdi; kontrollér, at docker-compose.override.yml ikke tilsidesætter den.
Sidst ændret 2. november 2026