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 Essentials

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 innlemmet i hovedkodebasen.

Grunnleggende arbeidsflyt for sammenslåing

La oss først se på de to siste commitene. Husk at vi for øyeblikket er på feature/new-feature-grenen.

Som du ser, er vår master-gren én commit bak, men før vi slår sammen endringer, må vi bytte til grenen hvor vi ønsker å innlemme endringene. La oss bytte til master-grenen og vise de to siste commitene på denne grenen:

Grenen master ligger faktisk én commit bak feature-grenen, så la oss slå dem sammen. For å starte fletteprosessen, bør kommandoen git merge brukes, og angi hvilken gren som skal flettes inn i nåværende gren. For eksempel, for å flette en feature-gren kalt feature/new-feature inn i master-grenen, skal følgende kommando kjøres:

Note
Merk

Meldingen som vises etter at kommandoen er kjørt inneholder følgende: Fast-forward, som angir at en fast-forward-fletting ble utført.

Vi skal diskutere de to typene flettinger senere i dette kapittelet, men før vi gjør det, la oss se på de to siste commitene:

Vi er fortsatt på master-grenen, men denne grenen er nå oppdatert med vår feature-gren, og begge grenene peker til samme commit.

Note
Merk

HEAD peker fortsatt til master-grenen siden vi befant oss på denne grenen da vi utførte sammenslåingen.

Sammenslåingstyper

Faktisk finnes det to typer sammenslåingsoperasjoner i Git:

  • fast-forward-sammenslåing;
  • treveis-sammenslåing.

Fast-forward-sammenslåing

Den vi har utført er et eksempel på en fast-forward-sammenslåing, som nevnt i meldingen. Denne typen sammenslåing utføres hvis alle commitene til en gren vi står på (utsjekket gren) også er en del av sammenslåingsgrenen, noe som betyr at commit-historikken til disse grenene ikke har forgreininger. La oss se på følgende illustrasjon for å tydeliggjøre dette:

Med denne typen sammenslåing blir pekeren til den utsjekkede grenen ganske enkelt oppdatert til den siste commit-en.

Treveis sammenslåing

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

Begrepet "treveis" refererer til tre versjoner som er involvert i sammenslåingen:

  • versjonen til den siste felles forfaderen (commit);
  • versjonen til siste commit i nåværende gren (HEAD);
  • versjonen til siste commit i grenen som slås sammen.

Se illustrasjonen under for et eksempel på en slik sammenslåing:

Slik fungerer en treveis sammenslåing:

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

Velg alle typer sammenslåing.

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 innlemmet i hovedkodebasen.

Grunnleggende arbeidsflyt for sammenslåing

La oss først se på de to siste commitene. Husk at vi for øyeblikket er på feature/new-feature-grenen.

Som du ser, er vår master-gren én commit bak, men før vi slår sammen endringer, må vi bytte til grenen hvor vi ønsker å innlemme endringene. La oss bytte til master-grenen og vise de to siste commitene på denne grenen:

Grenen master ligger faktisk én commit bak feature-grenen, så la oss slå dem sammen. For å starte fletteprosessen, bør kommandoen git merge brukes, og angi hvilken gren som skal flettes inn i nåværende gren. For eksempel, for å flette en feature-gren kalt feature/new-feature inn i master-grenen, skal følgende kommando kjøres:

Note
Merk

Meldingen som vises etter at kommandoen er kjørt inneholder følgende: Fast-forward, som angir at en fast-forward-fletting ble utført.

Vi skal diskutere de to typene flettinger senere i dette kapittelet, men før vi gjør det, la oss se på de to siste commitene:

Vi er fortsatt på master-grenen, men denne grenen er nå oppdatert med vår feature-gren, og begge grenene peker til samme commit.

Note
Merk

HEAD peker fortsatt til master-grenen siden vi befant oss på denne grenen da vi utførte sammenslåingen.

Sammenslåingstyper

Faktisk finnes det to typer sammenslåingsoperasjoner i Git:

  • fast-forward-sammenslåing;
  • treveis-sammenslåing.

Fast-forward-sammenslåing

Den vi har utført er et eksempel på en fast-forward-sammenslåing, som nevnt i meldingen. Denne typen sammenslåing utføres hvis alle commitene til en gren vi står på (utsjekket gren) også er en del av sammenslåingsgrenen, noe som betyr at commit-historikken til disse grenene ikke har forgreininger. La oss se på følgende illustrasjon for å tydeliggjøre dette:

Med denne typen sammenslåing blir pekeren til den utsjekkede grenen ganske enkelt oppdatert til den siste commit-en.

Treveis sammenslåing

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

Begrepet "treveis" refererer til tre versjoner som er involvert i sammenslåingen:

  • versjonen til den siste felles forfaderen (commit);
  • versjonen til siste commit i nåværende gren (HEAD);
  • versjonen til siste commit i grenen som slås sammen.

Se illustrasjonen under for et eksempel på en slik sammenslåing:

Slik fungerer en treveis sammenslåing:

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

Velg alle typer sammenslåing.

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 4
some-alt