Flettingskonflikter
Sveip for å vise menyen
Forståelse av flettekonflikter
En flettekonflikt oppstår når Git ikke automatisk kan forene endringene som er gjort på to forskjellige grener. Dette skjer vanligvis når det er gjort endringer i de samme linjene med kode i de samme filene i begge grenene siden deres siste felles opphav.
Eksempel på arbeidsflyt
Først, list opp alle grener i depotet:
git branch
Du er for øyeblikket på master-grenen, så endre filen branch_learning.txt ved å legge til en ny linje og gjør en direkte commit av denne endringen:
echo "New line from the master branch" >> branch_learning.txt
git commit -a -m "Add a new line specifying the master branch to branch_learning.txt"
Bytt nå til feature-grenen, legg til en annen ny linje i filen branch_learning.txt, og gjør denne endringen direkte til commit:
git checkout feature/new-feature
echo "New line from the feature branch" >> branch_learning.txt
git commit -a -m "Add a new line specifying the feature branch to branch_learning.txt"
Begge commitene er vellykkede, så bytt tilbake til master-grenen og flett feature-grenen inn i den:
git checkout master
git merge feature/new-feature
Ups, en flettekonflikt oppstod fordi samme linje i samme fil er forskjellig mellom grenene, og Git kan ikke automatisk løse det.
La oss også kjøre kommandoen git status for å få mer informasjon om konflikten:
git status
Denne meldingen indikerer at du enten må avbryte flettingen eller løse konfliktene og deretter gjøre en commit av endringene. Du vil fortsette med det siste alternativet og løse konfliktene i neste kapittel.
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