Brug af Git via editoren
Brug af Git via editoren
Introduktion
Hvad er Git?
Git er et versionsstyringssystem til kode, som bruges flittigt i softwareprojekter. Det gør det blandt andet muligt:
- at have en historik over koden, som man kan gå tilbage i;
- at synkronisere flere enheder og arbejde i teams på de samme filer med færrest mulige konflikter;
- at vedligeholde flere versioner af den samme kode, så man kan udvikle og eksperimentere uden at ødelægge den fungerende version;
- nemt at sikkerhedskopiere projektet.
En mappe, der versionsstyres med Git, kaldes et repository (eller bare _repo_).
Hvad er en forge?
Git er et program, der kan bruges lokalt (på din maskine eller i Leek Wars' editor), men det kan også arbejde sammen med en software-forge. Det er en server, som hoster Git-repositories.
Leek Wars understøtter flere forges; det enkleste er at vælge en af disse:
- GitHub, proprietær tjeneste fra Microsoft (USA). Hoster også Leek Wars' kode.
- GitLab.com, den officielle instans af GitLab (USA), et open source-program, som man selv kan hoste.
- Bitbucket, proprietær tjeneste fra Atlassian (USA).
- Codeberg, den officielle instans af Forgejo, et community-drevet open source-program, som man selv kan hoste; hostet af en tysk nonprofit-organisation.
Det er også muligt at bruge andre forges baseret på GitLab, Bitbucket, Forgejo, Gitea eller Gogs, fx framagit.org eller gitea.com.
Brug Git til en eksisterende AI
Først og fremmest skal AI'en ligge i en mappe og ikke i roden. Opret en mappe, højreklik på mappen, og vælg "Initialiser et Git-repository". Den kommer til at indeholde alle de filer, der skal med i Git.
En Git-fane med et grenikon dukker op øverst i fillisten (menuen til venstre). Gå derind.
Lav commits
(et commit er en "bekræftet" registrering af ændringer i historikken)
Øverst i Git-fanen skal du i rullemenuen kontrollere, at det ønskede repository er valgt (hvis du har flere).
Når filerne i repositoryet ændres, vises ændringerne i Git-fanen. De er indtil videre ikke indekseret (unstaged): det er som en kladde, der endnu ikke er hugget i sten i historikken.
Når du vil gemme ændringer i historikken, skal du klikke på knappen ➕ for at indeksere dem (stage). Opsummer ændringerne med et par ord i feltet "Commit-besked", og bekræft.
Bemærk: For at se alle knapperne i Git-fanen kan det være nødvendigt at gøre den bredere ved at trække i dens højre kant!
Historikken er en liste af commits, hvor hvert commit er et sæt ændringer med en dato og en besked. Idéen er, at man kan finde ud af, hvornår en given ændring er lavet, gå tilbage, gruppere ændringer for at undgå kode, der kun virker halvt ...
Forbind til en forge
Opsætning på forgen
Opret en konto på en Git-forge, og opret et tomt repository dér. Find adressen på dit repository; den burde ligne https://exemple.net/mon-pseudo/mon-depot.git. Det er adressen på dit repositorys hovedside med .git tilføjet til sidst.
Derefter skal Leek Wars have lov til at tilgå repositoryet. Fremgangsmåden afhænger af forgen.
- GitHub: Det enkleste er at installere Leek Wars' GitHub App direkte fra editoren (se nedenfor). Alternativt kan du oprette et token: klik på din profil, Settings, Developer Settings (helt nederst). På den side, der åbnes, vælger du Personal access tokens, Tokens (classic). Vælg en udløbstid (fx 90 dage), og giv kun de rettigheder, der er nødvendige for at bidrage til repositoryet.
- Forgejo: Kontoindstillinger, Applikationer, Nyt adgangstoken. Giv læse- og skriveadgang til "repository".
Hvis du har oprettet et token, så pas godt på det, så du ikke mister det!
Opsætning i Leek Wars
Nederst i Git-fanen klikker du på sky-knappen "Remote-indstillinger".
Det er her, man angiver det eksterne repository (remote): skriv et navn (fx origin), indsæt repositoryets URL, og klik på knappen "Tilføj". Dette trin er nødvendigt, før du kan pushe noget som helst.
Til autentificering vælger du din forge: GitHub, GitLab, Bitbucket eller Forgejo.
- GitHub: Den primære vej er knappen "Installer GitHub App". Under installationen vælger du de repositories, der skal gives adgang til; tilbage i Leek Wars kan du så vælge et af disse repositories direkte som remote. Alternativt kan du indsætte et Personal Access Token i feltet "Adgangstoken".
- GitLab og Bitbucket: Indsæt tokenet i feltet "Adgangstoken". Hvis du bruger en selvhostet instans i stedet for gitlab.com eller bitbucket.org, skal du markere "Selvhostet instans" og angive forgens adresse (dette felt findes også for GitHub).
- Forgejo: Afkrydsningsfeltet "Selvhostet instans" findes ikke for denne forge; feltet til instansens adresse vises altid (udfyldt på forhånd med codeberg.org). Angiv adressen på din instans, hvis det er nødvendigt, og indsæt tokenet i feltet "Adgangstoken".
Send dine commits til serveren
Indtil videre er commit-historikken kun gemt i Leek Wars. For at sende den til forgen laver man et push med knappen ⬆ helt nederst i Git-fanen.
Hver gang du vil sende nye commits, laver du et push.
Andre funktioner
Editoren og Git-fanen tilbyder også:
- Klon et repository: menuen Filer → "Klon et git-repo", hvor du angiver repositoryets URL og destinationsmappen.
- Pull: knappen "Pull" henter commits fra remoten, efter eget valg med en merge- eller rebase-strategi ("Pull-strategi").
- Branches: branch-vælgeren gør det muligt at skifte branch, oprette nye ("Ny branch ...") og se de eksterne branches.
- Historik og diff: knappen "Historik" viser listen af commits, og et klik på en ændret fil viser dens forskelle.
- Konfliktløsning: ved konflikt under en merge eller en rebase kan man løse dem i editoren og derefter fortsætte.
- Fortryd seneste commit: ændringerne fra det fortrudte commit bliver i indekset.
- Komprimer repositoryet: reducerer den plads, repositoryet fylder (nyttigt i forhold til kvoten).
- Indbygget Git-terminal: viser loggen over de Git-kommandoer, editoren har udført.