Slå Sammen 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.
Husk at du for øyeblikket er på feature/new-feature-grenen.
git log -n 2
Som du kan se, er 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:
git checkout master
git log -n 2
Branchen master ligger faktisk én commit bak feature-branchen.
For å slå dem sammen, bruk kommandoen git merge og spesifiser hvilken branch som skal flettes inn i den nåværende branchen.
For eksempel, for å flette feature/new-feature-branchen inn i master, kjør:
git merge feature/new-feature
Meldingen som vises etter at kommandoen er kjørt inneholder følgende: Fast-forward, som angir at en fast-forward-fletting ble utført.
Du vil utforske de to typene sammenslåinger senere i dette kapittelet. Før det, se på de to siste commitene:
git log -n 2
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 befant deg på denne grenen da du utførte sammenslåingen.
Sammenslåingstyper
Det finnes to typer sammenslåingsoperasjoner i Git:
- Fast-forward-sammenslåing;
- Treveis-sammenslåing.
Fast-forward-sammenslåing
Sammenslåingen du utførte er en fast-forward-sammenslåing, som angitt i meldingen. Denne typen oppstår når alle commitene fra den nåværende utsjekkede grenen også finnes i grenen som slås sammen, noe som betyr at commit-historikkene ikke har forgreininger.
Se illustrasjonen nedenfor for en forklaring:
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 har delt seg, 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 de tre versjonene som er involvert i sammenslåingen:
- Versjonen til den nyeste felles forfaderen (commit);
- Versjonen til den siste commit-en i den nåværende grenen (HEAD);
- Versjonen til den siste commit-en i grenen som slås sammen.
Se på følgende illustrasjon av denne typen sammenslåing:
Slik fungerer en treveisfletting:
- Git identifiserer endringene som er gjort på hver av grenene etter den siste felles forfaderen;
- 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