Flette 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.
Som du kan se, ligger master-grenen én 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:
master-grenen ligger faktisk én 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:
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:
Du er fortsatt på master-grenen, men den er nå oppdatert med feature-grenen, og begge grenene peker til samme commit.
HEAD peker fortsatt til master-grenen fordi du var på denne grenen da du utførte sammenslåingen.
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-historikkene ikke har forgreinet seg.
Se følgende illustrasjon for en forklaring:
Med denne typen fletting blir pekeren til den utsjekkede grenen ganske enkelt oppdatert til siste commit.
Treveis-fletting
Men hvis historikken til grenene har forgreinet seg, altså at det etter en felles commit har blitt gjort nye commiter separat på hver gren, utføres en treveis-fletting.
Begrepet "treveis" viser til de tre versjonene som er involvert i flettingen:
- versjonen til den nyeste 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:
- Git identifiserer endringene som er gjort på hver av grenene etter siste felles forfader;
- 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;
- Ellers vil det oppstå en flettekonflikt.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
What is the difference between a fast-forward merge and a three-way merge?
Can you explain what a merge conflict is and how to resolve it?
Can you give an example of when a three-way merge would occur?
Awesome!
Completion rate improved to 3.57
Flette 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.
Som du kan se, ligger master-grenen én 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:
master-grenen ligger faktisk én 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:
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:
Du er fortsatt på master-grenen, men den er nå oppdatert med feature-grenen, og begge grenene peker til samme commit.
HEAD peker fortsatt til master-grenen fordi du var på denne grenen da du utførte sammenslåingen.
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-historikkene ikke har forgreinet seg.
Se følgende illustrasjon for en forklaring:
Med denne typen fletting blir pekeren til den utsjekkede grenen ganske enkelt oppdatert til siste commit.
Treveis-fletting
Men hvis historikken til grenene har forgreinet seg, altså at det etter en felles commit har blitt gjort nye commiter separat på hver gren, utføres en treveis-fletting.
Begrepet "treveis" viser til de tre versjonene som er involvert i flettingen:
- versjonen til den nyeste 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:
- Git identifiserer endringene som er gjort på hver av grenene etter siste felles forfader;
- 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;
- Ellers vil det oppstå en flettekonflikt.
Takk for tilbakemeldingene dine!