Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Flette Grener | Arbeide med Grener i Git
Git-Essensielt

bookFlette Grener

Forståelse av sammenslåing av grener

I Git er sammenslåing prosessen med å integrere endringer fra én gren inn i en annen. Den vanligste bruken er å slå sammen feature-grener inn i main-grenen (for eksempel main eller master). Dette sikrer at de nyeste funksjonene og feilrettingene blir inkludert i hovedkodebasen.

Grunnleggende arbeidsflyt for sammenslåing

Vis først de to siste commitene. Merk at du for øyeblikket befinner deg på feature/new-feature-grenen.

To siste commitene på feature-grenen

Som du kan se, er master-grenen ett commit bak. Før du slår sammen, må du bytte til grenen der endringene skal integreres. Bytt til master-grenen og vis de to siste commitene på den:

Bytter til master og viser de to siste commitene

master-grenen er faktisk ett commit bak feature-grenen. For å slå dem sammen, bruk kommandoen git merge og spesifiser grenen som skal flettes inn i den nåværende grenen. For eksempel, for å flette feature/new-feature-grenen inn i master, kjør:

Sammenslåing
Note
Merk

Meldingen som vises etter å ha kjørt kommandoen inneholder følgende: Fast-forward, som angir at en fast-forward-sammenslåing ble utført.

Du vil utforske de to typene sammenslåinger senere i dette kapittelet. Før det, se på de to siste commitene:

To siste commits etter sammenslåing

Du er fortsatt på master-grenen, men den er nå oppdatert med feature-grenen, og begge grenene peker til samme commit.

Note
Merk

HEAD peker fortsatt til master-grenen fordi du var på denne grenen da sammenslåingen ble utført.

Flettetyper

Det finnes to typer flettinger i Git:

  • Fast-forward-fletting;
  • Treveis-fletting.

Fast-forward-fletting

Flettingen du utførte er en fast-forward-fletting, som angitt i meldingen. Denne typen oppstår når alle commitene fra den utsjekkede grenen også finnes i grenen som flettes inn, altså at commit-historikken ikke har forgreininger.

Se følgende illustrasjon for avklaring:

Med denne typen fletting blir pekeren til den utsjekkede grenen ganske enkelt oppdatert til siste commit.

Treveis-fletting

Hvis historikken til grenene derimot har forgreinet seg, det vil si at det etter en felles commit har blitt gjort nye commit på hver gren separat, utføres en treveis-fletting.

Begrepet "treveis" refererer til de tre versjonene som er involvert i flettingen:

  • Versjonen til den siste felles forfaderen (commit);
  • Versjonen til siste commit i nåværende gren (HEAD);
  • Versjonen til siste commit i grenen som flettes inn.

Se følgende illustrasjon av denne typen fletting:

Slik fungerer en treveisfletting:

  1. Git identifiserer endringene som er gjort på hver av grenene etter den siste felles forfaderen;
  2. Hvis hver gren har endringer i ulike filer eller ulike deler av samme fil, vil Git automatisk flette endringene ved å kombinere dem i den resulterende commiten;
  3. Ellers vil det oppstå en flettekonflikt.
question mark

Velg alle typer fletting.

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 4

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 3.57

bookFlette Grener

Sveip for å vise menyen

Forståelse av sammenslåing av grener

I Git er sammenslåing prosessen med å integrere endringer fra én gren inn i en annen. Den vanligste bruken er å slå sammen feature-grener inn i main-grenen (for eksempel main eller master). Dette sikrer at de nyeste funksjonene og feilrettingene blir inkludert i hovedkodebasen.

Grunnleggende arbeidsflyt for sammenslåing

Vis først de to siste commitene. Merk at du for øyeblikket befinner deg på feature/new-feature-grenen.

To siste commitene på feature-grenen

Som du kan se, er master-grenen ett commit bak. Før du slår sammen, må du bytte til grenen der endringene skal integreres. Bytt til master-grenen og vis de to siste commitene på den:

Bytter til master og viser de to siste commitene

master-grenen er faktisk ett commit bak feature-grenen. For å slå dem sammen, bruk kommandoen git merge og spesifiser grenen som skal flettes inn i den nåværende grenen. For eksempel, for å flette feature/new-feature-grenen inn i master, kjør:

Sammenslåing
Note
Merk

Meldingen som vises etter å ha kjørt kommandoen inneholder følgende: Fast-forward, som angir at en fast-forward-sammenslåing ble utført.

Du vil utforske de to typene sammenslåinger senere i dette kapittelet. Før det, se på de to siste commitene:

To siste commits etter sammenslåing

Du er fortsatt på master-grenen, men den er nå oppdatert med feature-grenen, og begge grenene peker til samme commit.

Note
Merk

HEAD peker fortsatt til master-grenen fordi du var på denne grenen da sammenslåingen ble utført.

Flettetyper

Det finnes to typer flettinger i Git:

  • Fast-forward-fletting;
  • Treveis-fletting.

Fast-forward-fletting

Flettingen du utførte er en fast-forward-fletting, som angitt i meldingen. Denne typen oppstår når alle commitene fra den utsjekkede grenen også finnes i grenen som flettes inn, altså at commit-historikken ikke har forgreininger.

Se følgende illustrasjon for avklaring:

Med denne typen fletting blir pekeren til den utsjekkede grenen ganske enkelt oppdatert til siste commit.

Treveis-fletting

Hvis historikken til grenene derimot har forgreinet seg, det vil si at det etter en felles commit har blitt gjort nye commit på hver gren separat, utføres en treveis-fletting.

Begrepet "treveis" refererer til de tre versjonene som er involvert i flettingen:

  • Versjonen til den siste felles forfaderen (commit);
  • Versjonen til siste commit i nåværende gren (HEAD);
  • Versjonen til siste commit i grenen som flettes inn.

Se følgende illustrasjon av denne typen fletting:

Slik fungerer en treveisfletting:

  1. Git identifiserer endringene som er gjort på hver av grenene etter den siste felles forfaderen;
  2. Hvis hver gren har endringer i ulike filer eller ulike deler av samme fil, vil Git automatisk flette endringene ved å kombinere dem i den resulterende commiten;
  3. Ellers vil det oppstå en flettekonflikt.
question mark

Velg alle typer fletting.

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 4
some-alt