Branching strategier Flashcards

1
Q

En hotfix branch

A

en midlertidig gren i versionsstyring (som Git), der bruges til at implementere hurtige fejlrettelser direkte fra produktion, uden at forstyrre udviklingsgrenen. Efter rettelsen merges den typisk til både main og develop branches.

bruges ved små problemer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Hvad kræver Trunk based development

A

High Code Quality
High Test Coverage
Feature Flags
Continuous Deployment
(All pushes to main must be reviewed)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

hvad kræver Feature branching

A

Still (several) Daily Commits
Code Quality
Test Coverage
(Feature Flags)
Pull Requests with review
Continuous Deployment

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Hvad er en branching-strategi i Git?

A

en metode til, hvordan et udviklingsteam organiserer og håndterer deres kodeændringer i Git. Den sikrer, at udviklere kan arbejde parallelt uden at overskrive hinandens kode.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Hvad er Git-Flow?

A

en model med flere branches, introduceret af Vincent Driessen i 2010. Den bruger en master branch, en develop branch, og flere understøttende branches

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Hvad er fordelene og ulemperne ved Git-Flow?

A

✅ Fordele: Struktureret udviklingsproces
Isolerer funktioner og fejlrettelser
❌ Ulemper: Kan være for kompleks til mindre teams
For mange branches → Mere overhead
Kan skabe merge-konflikter, hvis feature branches lever for længe

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Hvad er GitHub Flow?

A

En simplere alternativ til Git-Flow, populær blandt teams, der bruger kontinuerlig levering (CD)

typisk 2 branches man kører

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Hvordan fungerer GitHub Flow?

A

Hovedbranch (main) er altid klar til produktion
Udviklere laver en feature branch
Feature branch merges direkte til main via pull requests
Eventuelle hotfixes løses direkte på main

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Hvad er fordelene og ulemperne ved GitHub Flow?

A

✅ Fordele:
Meget simpelt, ingen unødvendige branches
Passer godt til CI/CD og web-apps
Hurtigere udviklingscyklus
❌ Ulemper:
Ingen stabil udviklingsbranch (develop), så main kan blive ustabil
Dårlig til projekter med versionering

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Hvad er fordelene og ulemperne ved TBD?

A

✅ Fordele:
Bedst til kontinuerlig integration (CI/CD)
Reducerer merge-konflikter
Hurtigere releases og bedre samarbejde

❌ Ulemper:
Kan være svært at adoptere uden disciplin
Feature flags kræver ekstra arbejde

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Hvad er feature flags?

A

En teknik, hvor kodeændringer skjules bag en “flag”, så de kan aktiveres eller deaktiveres uden at ændre koden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Hvordan håndterer man releases i Git?

A
  1. Release branches (i Git-Flow) → Til store versioner
  2. Feature flags (i TBD) → Kontinuerlig frigivelse
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Hvornår er Git-Flow bedst?

A
  1. Når du versionerer software
  2. Hvis du vedligeholder flere versioner af dit produkt
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Hvornår er GitHub Flow bedst?

A
  1. Når du laver web apps og SaaS-produkter
  2. Hvis du vil have en simpel proces med CI/CD
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Hvornår er Trunk-Based Development bedst?

A
  1. Hvis du kører kontinuerlig integration og deployment (CI/CD)
  2. Hvis du vil have hurtigere releases og færre branches
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Hvilke forskellige typer branches er der?

A

-Feature branches
-Release branches
-Hotfix branches