Versionsstyring
Versionsstyring handler om at holde styr på ændringer i kode over tid. Det mest udbredte system er Git, og den mest kendte platform omkring Git er GitHub. Det er vigtigt at skelne mellem de to: Git er selve versionsstyringssystemet, mens GitHub er en tjeneste, hvor Git-repositories kan deles, samarbejdes om og automatiseres omkring.
Som begynder kan versionsstyring virke som noget, man først behøver senere. I praksis er det en stor fordel at lære det tidligt, fordi det giver ro i arbejdet. Du kan gemme dine ændringer, gå tilbage til tidligere versioner og eksperimentere uden at være bange for at ødelægge noget.
Hvorfor bruge Git?
Git hjælper dig med at:
- gemme historik over dine ændringer
- gå tilbage til en tidligere version
- arbejde på nye idéer uden at ødelægge det, der virker
- samarbejde med andre udviklere
Man kan tænke på Git som en tidsmaskine for kode.
Hvad er GitHub?
GitHub er ikke det samme som Git. GitHub er en webplatform, som bygger oven på Git og gør det lettere at:
- gemme repositories online
- samarbejde med andre
- lave pull requests og kodegennemgang
- håndtere issues og planlægning
- koble automatisering på med for eksempel GitHub Actions
Hvis Git er motoren, er GitHub en samarbejds- og distributionsplatform omkring motoren.
Grundlæggende begreber
- Repository: dit projekt med dets historik
- Commit: et gemt øjebliksbillede af ændringer
- Branch: en separat udviklingsgren
- Remote: en kopi af projektet på en server, for eksempel GitHub
- Pull request: et forslag til ændringer, som kan diskuteres og godkendes før de flettes ind
- Issue: en opgave, fejl eller idé, som spores i projektet
Grundlæggende Git-kommandoer
# Initialiser et nyt repository
git init
# Tilføj filer til staging
git add filnavn.py
git add .
# Gem ændringer
git commit -m "Beskrivelse af ændringen"
# Se status
git status
# Se historik
git log
# Hent et projekt
git clone https://github.com/bruger/repo.git
# Hent ændringer fra serveren
git pull
# Send ændringer til serveren
git push
En typisk arbejdsgang
En meget enkel Git-arbejdsgang kan se sådan ud:
- Du ændrer noget i koden.
- Du bruger
git statusfor at se, hvad der er ændret. - Du bruger
git addfor at vælge, hvad der skal med. - Du bruger
git commitfor at gemme ændringen med en besked.
Hvis du arbejder med GitHub eller en anden server, kan du bagefter bruge git push.
En typisk GitHub-arbejdsgang
Når du arbejder alene eller sammen med andre på GitHub, vil arbejdsgangen ofte se sådan ud:
- Du henter eller opretter et repository på GitHub.
- Du laver ændringer lokalt i dit projekt.
- Du gemmer dem med Git gennem
addogcommit. - Du sender ændringerne til GitHub med
git push. - Hvis arbejdet sker på en separat branch, opretter du en pull request.
- Pull requesten kan læses igennem, kommenteres og til sidst flettes ind i hovedgrenen.
Det betyder, at Git hjælper dig med historikken, mens GitHub hjælper dig med samarbejde, deling og workflow omkring projektet.
Hvad bør du kunne om GitHub som begynder?
Som begynder behøver du ikke mestre hele platformen. Men det er en stor fordel at forstå:
- at GitHub ofte bruges som hjemsted for et Git-projekt
- at et repository kan ligge både lokalt og på GitHub
- at pull requests bruges til at foreslå og gennemgå ændringer
- at issues bruges til at holde styr på fejl, idéer og arbejde
Hvad bør du kunne som begynder?
Som begynder er det nok at forstå disse fire kommandoer godt:
git statusgit addgit commitgit log
Det er bedre at kunne lidt Git ordentligt end at kunne mange kommandoer halvt.
Tip
Brug meningsfulde commit-beskeder. En besked som Ret fejl i inputvalidering er langt mere nyttig end ændringer.
Næste skridt
Versionsstyring bliver især værdifuld, når du arbejder med større projekter, flere filer og senere også byg, test og deployment. Fortsæt med Applikationer for at se, hvilke slags systemer man typisk bygger, eller med Infrastruktur, hvis du vil se, hvad der sker omkring koden i drift.