Versionsstyring

Denne side beskriver hvad git protokollen er, og hvordan den anvendes.

Indledning

Versionsstyring bruges flere steder til udvikling af alle mulige IT-projekter: administrative systemer, apps, embeddede systemer, frameworks, libraries, komponenter, websites mm. Det bruges af stort set alle størrelse og typer af projekt hold: professionel IT-udvikling, store organisationer, iværksættere, hobby-kodere, små og store Open Source-projekter. Det bruges til både kilde-kode, rapporter, aftaler mm.

Git

Denne er en protokol og et versionsstyringssystem, der oprindeligt er udviklet af Linus Thorvalds. Han skrev dette system for at hjælpe med at holde styr på udviklingen, efterhånden som der kom flere til. Git har dog vokset sig langt udover Linux i dag. Alle kan opsætte en git-server, men de fleste vælger at bruge en af de eksisterende services – f.eks. GitLab, BitBucket eller GitHub.

GitHub

GitHub er en udviklingsplatform, som lader udviklere hoste og evaluere kode, håndtere projekter og bygge software sammen med 40 millioner andre udviklere.

GitHub er så stort i dag, at det forventes at man ved hvad GitHub er, og om noget ved hvad Git er. Fordelen ved GitHub er at de fokuserer meget på at samle udviklere omkring samarbejde og projektstyring. Det fungerer som udviklernes sociale media, hvor rigtig mange bruger GitHub som en portfolio for kode.

"...whether you’re making your first commit or sending a Rover to Mars, there’s room for you here, too"

- github.com

Et andet fokusområde, som er meget vigtig for GitHub, er at gøre det klart, at der er plads til alle størrelser af projekter på platformen. Om det er det nye styresystem, som erstatter iOS og Android, eller en læringsportfolio for 1. semesterne på EA Dania i skive – Så er der plads på GitHub.

World wide, er der på platformen pt.:

  • 100M Repositories
  • 40M udviklere
  • 2.1M virksomheder og organisationer.

Repositories? - Hvad er det?

Et Repository, eller repo som det kaldes, er et af flere kernebegreber bag Git.

  • Respository En samling af filer, som en projektmappe
  • Branch En forgrening, en parallel version af dit repo, men påvirker ikke master
  • Master Branch hovedforløbet/Hovedbranch, den som gælder.
  • Commit En revision, som eat gemme, men med mulighed for at finde tilbage. Det kan kaldes en milepæl
  • Pull Request Et forslag til en ny udgave (rettelser)
  • Diff Difference, en forskel mellem 2 commits
  • Merge Når ændringer i en branch samles med en anden. F.eks. gennem en pull request.
  • Pull Når du henter ændringer og merger dem.