Bruk av Git via editoren
Bruk av Git via editoren
Introduksjon
Hva er Git?
Git er et versjonskontrollsystem for kode som er mye brukt i programvareprosjekter. Det lar deg blant annet:
- ha en historikk over koden, som du kan gå tilbake i;
- synkronisere flere enheter og jobbe i team på de samme filene med færre konflikter;
- vedlikeholde flere versjoner av samme kode, for å utvikle og eksperimentere uten å ødelegge den fungerende versjonen;
- enkelt sikkerhetskopiere prosjektet.
En mappe som versjoneres av Git kalles et depot (_repository_ eller _repo_ på engelsk).
Hva er en kodeforge?
Selv om Git er et program som kan brukes lokalt (på maskinen din eller i Leek Wars-editoren), kan det også samhandle med en kodeforge. Det er en server som huser Git-depoter.
Leek Wars støtter flere forger; det enkleste er å velge en av disse:
- GitHub, proprietær tjeneste fra Microsoft (USA). Huser også koden til Leek Wars.
- GitLab.com, den offisielle instansen av GitLab (USA), fri programvare som kan hostes selv.
- Bitbucket, proprietær tjeneste fra Atlassian (USA).
- Codeberg, den offisielle instansen av Forgejo, fellesskapsdrevet fri programvare som kan hostes selv, driftet av en tysk ideell organisasjon.
Det er også mulig å bruke andre forger basert på GitLab, Bitbucket, Forgejo, Gitea eller Gogs, for eksempel framagit.org eller gitea.com.
Bruke Git for en eksisterende AI
Først må AI-en ligge i en mappe, ikke i roten. Opprett en mappe, høyreklikk på mappen og velg «Initialiser et Git-depot». Den vil inneholde alle filene som skal inn i Git.
En Git-fane med et grenikon dukker opp øverst i fillisten (menyen til venstre). Gå dit.
Lage commits
(en «commit» er en lagret endring i historikken)
Øverst i Git-fanen sjekker du i nedtrekksmenyen at riktig depot er valgt (hvis du har flere).
Når filene i depotet endres, vises endringene i Git-fanen. Foreløpig er de ikke indeksert: det er som et utkast som ennå ikke er hugget i stein i historikken.
Når du vil lagre endringer i historikken, klikker du på knappen ➕ for å indeksere dem. Oppsummer endringene med noen få ord i feltet «Commit-melding», og bekreft.
Merk: for å se alle knappene i Git-fanen kan det være nødvendig å utvide den mot høyre ved å dra i høyre kant!
Historikken er en liste over commits, der hver commit er et sett med endringer, med dato og melding. Ideen er å kunne finne ut når en gitt endring ble gjort, gå tilbake, gruppere endringer for å unngå kode som bare halvveis fungerer...
Koble til en forge
Oppsett på forgen
Opprett en konto på en Git-forge og opprett et tomt depot der. Finn adressen til depotet ditt, som bør se ut som https://exemple.net/mon-pseudo/mon-depot.git. Det er adressen til hovedsiden for depotet, med .git lagt til på slutten.
Deretter må du gi Leek Wars tilgang til depotet. Fremgangsmåten avhenger av forgen.
- GitHub: det enkleste er å installere Leek Wars' GitHub App, direkte fra editoren (se nedenfor). Alternativt kan du opprette et token: klikk på profilen din, Settings, Developer Settings (helt nederst). På siden som åpnes velger du Personal access tokens, Tokens (classic). Velg en utløpstid (for eksempel 90 dager) og gi bare de rettighetene som trengs for å bidra til depotet.
- Forgejo: Kontoinnstillinger, Applikasjoner, Nytt tilgangstoken. Gi lese- og skrivetilgang til «repository».
Hvis du har opprettet et token, ta godt vare på det så du ikke mister det!
Oppsett i Leek Wars
Nederst i Git-fanen klikker du på skyknappen «Remote-innstillinger».
Det er her du deklarerer det eksterne depotet (remote): oppgi et navn (for eksempel origin), lim inn depotets URL og klikk på knappen «Legg til». Dette trinnet er nødvendig før du kan pushe noe som helst.
For autentisering velger du forgen din: GitHub, GitLab, Bitbucket eller Forgejo.
- GitHub: hovedveien er knappen «Installer GitHub App». Under installasjonen velger du hvilke depoter som skal få tilgang; tilbake i Leek Wars kan du velge et av disse depotene direkte som remote. Alternativt limer du inn et Personal Access Token i feltet «Tilgangstoken».
- GitLab og Bitbucket: lim inn tokenet i feltet «Tilgangstoken». Hvis du bruker en selvhostet instans i stedet for gitlab.com eller bitbucket.org, huker du av «Selvhostet instans» og oppgir adressen til forgen (denne avkrysningsboksen finnes også for GitHub).
- Forgejo: avkrysningsboksen «Selvhostet instans» finnes ikke for denne forgen; feltet for instansadresse vises alltid (forhåndsutfylt med codeberg.org). Oppgi adressen til instansen din om nødvendig, og lim inn tokenet i feltet «Tilgangstoken».
Sende commits til serveren
Foreløpig er commit-historikken bare lagret i Leek Wars. For å sende den til forgen gjør du en push med knappen ⬆ helt nederst i Git-fanen.
Hver gang du vil sende nye commits, gjør du en push.
Andre funksjoner
Editoren og Git-fanen tilbyr også:
- Klone et depot: menyen Fil → «Klon et git-repo», ved å oppgi depotets URL og målmappen.
- Hente (pull): knappen «Hent (pull)» for å hente commits fra remote, med valg mellom strategien merge eller rebase («Pull-strategi»).
- Grener: grenvelgeren lar deg bytte gren, opprette nye («Ny gren...») og se eksterne grener.
- Historikk og diff: knappen «Historikk» lister opp commits, og et klikk på en endret fil viser forskjellene.
- Konfliktløsning: ved konflikt under en merge eller rebase lar editoren deg løse dem og deretter fortsette.
- Angre siste commit: endringene fra den angrede commiten blir liggende i indeksen.
- Komprimere depotet: reduserer plassen depotet tar (nyttig for kvoten).
- Innebygd Git-terminal: viser loggen over Git-kommandoene editoren har kjørt.