Hvad er GitHub?

GitHub er verdens største platform til hosting, versionskontrol og samarbejde om softwareudvikling, brugt af over 100 millioner udviklere globalt.

Hvad er GitHub?

GitHub er verdens største platform til hosting, versionskontrol og samarbejdsudvikling af software. Platformen er bygget oven på Git-versionskontrolsystemet og giver udviklere mulighed for at lagre kode i repositories, samarbejde med kollegaer, gennemgå kode og styre hele softwareudviklingsprojekter fra én samlet platform.

GitHub blev grundlagt i 2008 af Tom Preston-Werner, Chris Wanstrath, PJ Hyett og Scott Chacon. I 2018 købte Microsoft platformen for 7,5 milliarder dollars, og siden da er den vokset til over 100 millioner udviklere og mere end 372 millioner repositories (2024), hvilket gør den til det ubestridte centrum for open source-software og moderne softwareudvikling.

GitHubs historie og milepæle

År Begivenhed
2005 Linus Torvalds skaber Git til Linux-kernens versionskontrol
2008 GitHub grundlægges i San Francisco
2009 Platformen når 100.000 brugere
2012 Andreessen Horowitz investerer 100 millioner dollars
2013 10 millioner repositories oprettes
2018 Microsoft køber GitHub for 7,5 milliarder dollars
2019 GitHub Actions (CI/CD) lanceres
2021 GitHub Copilot (AI-kodeassistent) lanceres
2023 Platformen passerer 100 millioner udviklere
2024 GitHub Copilot Workspace og avancerede AI-værktøjer introduceres

Kernefunktioner

Repositories (Repos)

Et repository er den grundlæggende byggesten på GitHub — en mappe der indeholder projektets filer, historik og konfiguration:

  • Public repositories: Synlige for alle — fundamentet for open source-software
  • Private repositories: Kun synlige for inviterede samarbejdspartnere
  • README.md: Projektbeskrivelse i Markdown der vises på repositoriets forside
  • .gitignore: Definerer filer der ikke skal versionskontrolleres
  • LICENSE: Licens der bestemmer, hvordan koden må bruges og distribueres

Branches og Pull Requests

GitHubs samarbejdsmodel er baseret på branches (grene) og pull requests (PR'er):

  1. Opret en branch: Isolér dine ændringer fra hovedkoden (main/master)
  2. Commit ændringer: Gem kodeopdateringer med beskrivende commit-meddelelser
  3. Opret en Pull Request: Foreslå at dine ændringer merges ind i hovedbranchen
  4. Code Review: Teammedlemmer gennemgår, kommenterer og godkender ændringerne
  5. Merge: Når ændringerne er godkendt, integreres de i hovedbranchen
  6. Slet branchen: Oprydning efter vellykket merge

Pull Requests er hjertet i GitHubs samarbejdsmodel og muliggør:

  • Diskussioner: Kommentarer og feedback direkte på kodelinjer
  • Automatiserede tests: Status checks der verificerer, at koden fungerer
  • Approval workflows: Krav om godkendelse fra specificerede reviewere
  • Merge strategies: Merge commit, squash merge eller rebase merge

Issues og Projektstyring

GitHub Issues er et integreret system til at spore bugs, features og opgaver:

  • Issue templates: Standardiserede skabeloner for bugraports og feature requests
  • Labels: Farvekodede etiketter til kategorisering (bug, enhancement, documentation)
  • Milestones: Gruppering af issues efter version, sprint eller deadline
  • Assignees: Tildeling af ansvarlige personer
  • Projects: Kanban-tavler til visuel organisering og prioritering af issues
  • Automatisering: Issues kan automatisk knyttes til pull requests og lukkes ved merge

GitHub Actions (CI/CD)

GitHub Actions er GitHubs indbyggede platform til kontinuerlig integration og levering:

  • Workflows: Automatiserede processer defineret i YAML-filer
  • Triggers: Workflows starter ved events som push, pull request, schedule eller manuelt
  • Runners: Virtuelle maskiner (Linux, macOS, Windows) der udfører workflows
  • Marketplace: Over 15.000 forudbyggede actions til test, build, deployment og mere
  • Matrix builds: Test kode på tværs af flere operativsystemer og versioner samtidig
  • Secrets: Sikker opbevaring af API-nøgler, tokens og adgangskoder

Eksempel på et simpelt workflow:

name: Test on: [push, pull_request] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: npm install - run: npm test

GitHub Copilot

GitHub Copilot er en AI-drevet kodeassistent, der foreslår kode i realtid:

  • Autokomplettering: Foreslår hele funktioner og kodeblokke baseret på kontekst
  • Chat-interface: Stil spørgsmål om kode direkte i editoren
  • Understøtter 30+ sprog: Python, JavaScript, TypeScript, Go, Ruby, Java og mange flere
  • 1,3+ millioner betalende abonnenter (2024)
  • 46% af al kode i projekter der bruger Copilot er AI-genereret
  • Udviklere fuldfører opgaver 55% hurtigere med Copilot

Branching-strategier på GitHub

Git Flow

Den klassiske Git Flow-model med strukturerede branches:

  • main: Altid produktionsklar kode
  • develop: Integrationsbranch for næste release
  • feature/*: Branches for nye funktioner
  • release/*: Forberedelse af nye releases
  • hotfix/*: Akutte rettelser direkte fra main

GitHub Flow

En simplere model designet specifikt til GitHub:

  1. Opret en branch fra main
  2. Tilføj commits med ændringer
  3. Opret en Pull Request
  4. Diskutér og review koden
  5. Merge til main og deploy

Trunk-Based Development

Den enkleste tilgang, foretrukket af mange moderne teams:

  • Alle arbejder direkte på main (eller meget kort-livede branches)
  • Feature flags kontrollerer, hvornår funktioner aktiveres for brugere
  • Kræver stærk CI/CD-pipeline og automatiserede tests

GitHub i Danmark

Danske virksomheder og GitHub

Det danske tech-økosystem er en aktiv bruger af GitHub:

  • Trustpilot: Open source-bidrag og offentlige repositories
  • Pleo: Fintech-virksomhed med GitHub-baseret udviklingsworkflow
  • Maersk: Digital transformation med GitHub Enterprise
  • Lunar: Dansk neobank med GitHub som central kodeplatform
  • Too Good To Go: App-udvikling med GitHub Actions og Copilot
  • Unity (delvist dansk): Massive open source-projekter på GitHub

Dansk open source

  • Umbraco: Dansk CMS med et af Nordens mest aktive GitHub-communities
  • Netdata: Dansk-grundlagt monitoreringsværktøj med 60.000+ stjerner

Statistik for Danmark

  • Ca. 150.000 GitHub-brugere i Danmark (2024)
  • København er en af de mest aktive tech-byer i Norden på GitHub
  • 72% af danske softwarevirksomheder bruger GitHub som primær kodeplatform

GitHub vs. alternativer

Feature GitHub GitLab Bitbucket
Brugere 100M+ 30M+ 10M+
CI/CD GitHub Actions GitLab CI Bitbucket Pipelines
AI Copilot GitHub Copilot GitLab Duo Atlassian Intelligence
Self-hosted Enterprise Server Community Edition (gratis) Data Center
Pris (teams) $4/bruger/md $29/bruger/md $3/bruger/md
Styrke Størst community Alt-i-én DevOps Atlassian-integration

Code Review-kultur på GitHub

Code review er en kernepraksis i GitHub-baserede teams:

  • CODEOWNERS: Automatisk tildeling af reviewere baseret på filstier
  • Branch protection rules: Krav om minimum antal godkendelser før merge
  • Status checks: Automatiserede tests der skal bestå før merge er muligt
  • Review comments: Inline-kommentarer direkte på specifikke kodelinjer
  • Suggested changes: Reviewere kan foreslå konkrete kodeændringer

Forskning viser, at teams der praktiserer systematisk code review har 30-50% færre bugs i produktion.

GitHub-priser

Plan Pris Målgruppe
Free $0 Individuelle udviklere, open source
Team $4/bruger/md Små og mellemstore teams
Enterprise $21/bruger/md Store organisationer med avancerede behov
Copilot Individual $10/md Individuelle udviklere
Copilot Business $19/bruger/md Teams og virksomheder

Sikkerhed på GitHub

GitHub tilbyder omfattende sikkerhedsfunktioner:

  • To-faktor autentificering (2FA): Ekstra lag af sikkerhed for konti
  • Dependabot: Automatisk scanning og opdatering af sårbare dependencies
  • Secret scanning: Opdager utilsigtet publicerede hemmeligheder (API-nøgler, tokens)
  • Code scanning (CodeQL): Statisk kodeanalyse for sikkerhedssårbarheder
  • Branch protection: Forhindrer direkte push til kritiske branches
  • Security advisories: Værktøjer til at håndtere og kommunikere sikkerhedsproblemer

Statistik og betydning

  • 100+ millioner udviklere bruger GitHub
  • 372+ millioner repositories (2024)
  • 90% af Fortune 100-virksomheder bruger GitHub
  • 413+ millioner open source-bidrag i 2023
  • 97% af verdens mest populære open source-projekter er hostet på GitHub
  • JavaScript er det mest brugte sprog på GitHub, efterfulgt af Python og TypeScript

FAQ — Ofte stilte spørgsmål

Hvad er forskellen mellem Git og GitHub?

Git er et distribueret versionskontrolsystem — et kommandolinjeværktøj til at spore ændringer i kode lokalt. GitHub er en webbaseret platform bygget oven på Git, der tilføjer samarbejdsfunktioner som pull requests, issues, code review, CI/CD og projektstyring.

Er GitHub gratis?

Ja, GitHub har en gratis plan der inkluderer ubegrænset public og private repositories, GitHub Actions (2.000 minutter/måned), Codespaces (120 timer/måned) og grundlæggende sikkerhedsfunktioner. Teams og virksomheder betaler for avancerede funktioner.

Hvad er en Pull Request?

En Pull Request (PR) er en anmodning om at merge ændringer fra én branch til en anden. Det er GitHubs primære samarbejdsmekanisme, hvor teammedlemmer kan gennemgå koden, give feedback, diskutere løsninger og godkende ændringerne før de integreres.

Hvad er GitHub Actions?

GitHub Actions er GitHubs indbyggede CI/CD-platform. Den giver mulighed for at automatisere workflows som test, build og deployment direkte i GitHub. Workflows defineres i YAML-filer og trigges af events som push, pull request eller tidsplan.

Hvad er GitHub Copilot?

GitHub Copilot er en AI-drevet kodeassistent, der foreslår kode i realtid baseret på kontekst og kommentarer. Den er integreret i populære editorer som VS Code, JetBrains og Neovim, og hjælper udviklere med at skrive kode hurtigere og med færre fejl.

Er det sikkert at have kode på GitHub?

Ja, GitHub har omfattende sikkerhedsforanstaltninger: kryptering af data, to-faktor autentificering, Dependabot til sårbarhedsscanning, secret scanning og branch protection rules. Private repositories er kun synlige for inviterede brugere.

Relaterede begreber

  • Git — Versionskontrolsystemet bag GitHub
  • GitFlow — Populær branching-strategi til Git og GitHub
  • CI/CD — Kontinuerlig integration og levering via GitHub Actions
  • DevOps — Kultur og praksis understøttet af GitHub
  • Bug — Fejl der spores via GitHub Issues
  • Feature Flag — Teknik til at kontrollere features i produktion
  • Developer — Udviklere der bruger GitHub dagligt
  • Figma — Designværktøj der integreres med GitHub workflows
🍄

Vil du vide mere?

Hvis du er nysgerrig efter at lære mere om GitHub, så kontakt mig på X. Jeg elsker at dele idéer, besvare spørgsmål og diskutere nysgerrigheder om disse emner, så tøv ikke med at kigge forbi. Vi ses!