Fletning af Grene
Forståelse af sammenfletning af grene
I Git er sammenfletning processen, hvor ændringer fra én gren integreres i en anden. Den mest almindelige anvendelse er at sammenflette feature-grene ind i main-grenen (f.eks. main eller master). Dette sikrer, at de nyeste funktioner og fejlrettelser bliver en del af hovedkodebasen.
Grundlæggende arbejdsgang for sammenfletning
Vis først de to seneste commits.
Bemærk, at du i øjeblikket befinder dig på feature/new-feature-grenen.
Som du kan se, er master-grenen ét commit bagud.
Før sammenfletning skal du skifte til den gren, hvor ændringerne skal integreres.
Skift til master-grenen og vis de to seneste commits på den:
master-grenen er faktisk ét commit bagud i forhold til feature-grenen.
For at flette dem sammen, brug kommandoen git merge og angiv den gren, der skal flettes ind i den aktuelle gren.
For eksempel, for at flette feature/new-feature-grenen ind i master, kør:
Beskeden, der vises efter at have kørt kommandoen, indeholder følgende: Fast-forward, hvilket angiver, at der blev udført en fast-forward fletning.
Du vil udforske de to typer fletninger senere i dette kapitel. Inden da, se de to seneste commits:
Du befinder dig stadig på master-grenen, men den er nu opdateret med feature-grenen, hvor begge grene peger på det samme commit.
HEAD peger stadig på master-grenen, fordi du var på denne gren, da sammenfletningen blev udført.
Fletningstyper
Der findes to typer fletteoperationer i Git:
- Fast-forward-fletning;
- Trevejsfletning.
Fast-forward-fletning
Den fletning, du udførte, er en fast-forward-fletning, som angivet i beskeden. Denne type opstår, når alle commits fra den aktuelt udtjekkede gren også findes i den gren, der flettes ind, hvilket betyder, at deres commit-historik ikke er adskilt.
Se følgende illustration for afklaring:
Ved denne type fletning opdateres markøren for den udtjekkede gren blot til det seneste commit.
Trevejsfletning
Hvis grenens historik derimod er adskilt, hvilket betyder, at der efter et fælles commit er lavet nye commits separat på hver gren, udføres der en trevejsfletning.
Udtrykket "trevejs" henviser til de tre versioner, der indgår i fletningen:
- Versionen af den seneste fælles forfader (commit);
- Versionen af det seneste commit på den aktuelle gren (HEAD);
- Versionen af det seneste commit på den gren, der flettes ind.
Se følgende illustration af denne type fletning:
Sådan fungerer en trevejsfletning:
- Git identificerer ændringerne, der er foretaget på hver af grenene efter den seneste fælles forfader;
- Hvis hver gren har ændringer i forskellige filer eller forskellige dele af den samme fil, vil Git automatisk flette ændringerne ved at kombinere dem i det resulterende commit;
- Ellers vil der opstå en fletningskonflikt.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
What is a merge conflict and how do I resolve it?
Can you explain the difference between fast-forward and three-way merges in more detail?
When should I use each type of merge in my workflow?
Awesome!
Completion rate improved to 3.57
Fletning af Grene
Stryg for at vise menuen
Forståelse af sammenfletning af grene
I Git er sammenfletning processen, hvor ændringer fra én gren integreres i en anden. Den mest almindelige anvendelse er at sammenflette feature-grene ind i main-grenen (f.eks. main eller master). Dette sikrer, at de nyeste funktioner og fejlrettelser bliver en del af hovedkodebasen.
Grundlæggende arbejdsgang for sammenfletning
Vis først de to seneste commits.
Bemærk, at du i øjeblikket befinder dig på feature/new-feature-grenen.
Som du kan se, er master-grenen ét commit bagud.
Før sammenfletning skal du skifte til den gren, hvor ændringerne skal integreres.
Skift til master-grenen og vis de to seneste commits på den:
master-grenen er faktisk ét commit bagud i forhold til feature-grenen.
For at flette dem sammen, brug kommandoen git merge og angiv den gren, der skal flettes ind i den aktuelle gren.
For eksempel, for at flette feature/new-feature-grenen ind i master, kør:
Beskeden, der vises efter at have kørt kommandoen, indeholder følgende: Fast-forward, hvilket angiver, at der blev udført en fast-forward fletning.
Du vil udforske de to typer fletninger senere i dette kapitel. Inden da, se de to seneste commits:
Du befinder dig stadig på master-grenen, men den er nu opdateret med feature-grenen, hvor begge grene peger på det samme commit.
HEAD peger stadig på master-grenen, fordi du var på denne gren, da sammenfletningen blev udført.
Fletningstyper
Der findes to typer fletteoperationer i Git:
- Fast-forward-fletning;
- Trevejsfletning.
Fast-forward-fletning
Den fletning, du udførte, er en fast-forward-fletning, som angivet i beskeden. Denne type opstår, når alle commits fra den aktuelt udtjekkede gren også findes i den gren, der flettes ind, hvilket betyder, at deres commit-historik ikke er adskilt.
Se følgende illustration for afklaring:
Ved denne type fletning opdateres markøren for den udtjekkede gren blot til det seneste commit.
Trevejsfletning
Hvis grenens historik derimod er adskilt, hvilket betyder, at der efter et fælles commit er lavet nye commits separat på hver gren, udføres der en trevejsfletning.
Udtrykket "trevejs" henviser til de tre versioner, der indgår i fletningen:
- Versionen af den seneste fælles forfader (commit);
- Versionen af det seneste commit på den aktuelle gren (HEAD);
- Versionen af det seneste commit på den gren, der flettes ind.
Se følgende illustration af denne type fletning:
Sådan fungerer en trevejsfletning:
- Git identificerer ændringerne, der er foretaget på hver af grenene efter den seneste fælles forfader;
- Hvis hver gren har ændringer i forskellige filer eller forskellige dele af den samme fil, vil Git automatisk flette ændringerne ved at kombinere dem i det resulterende commit;
- Ellers vil der opstå en fletningskonflikt.
Tak for dine kommentarer!