Git -brukere jobber med utviklingsprosjekter for å lage flere filer, mapper og filialer og utføre flere operasjoner. Noen ganger legger de til endringer i en gren og glemmer å skyve disse modifikasjonene mens de bytter til en annen gren. Når de prøver å slå sammen filene eller grenene, møter de konflikt. For å løse konfliktene, er det påkrevd å hoppe over sammenslåingsoperasjonen og alle endringer som forårsaker konflikter.
Denne opplæringen vil illustrere arbeidet med "git rebase -skip”Kommando.
Hva gjør “git rebase -skip”?
Mens de utfører sammenslåingen eller rebase -operasjonen, møter utviklere vanligvis noen konflikter. Dette skjer vanligvis når mer enn en bruker begår det samme innholdet i samme fil. Derfor er Git usikker på modifiseringen og ikke i stand til å bruke endringer. “git rebase -skip”Kommando kan overvinne slike konflikter og unngå/hoppe over forpliktelsen som forårsaker sammenslåingssvikt.
Trinn 1: omdirigere til lokal katalog
Kjør først følgende kommando i Git Bash -terminalen og flytt til ønsket depot:
$ CD "C: \ git \ test_repo"
Trinn 2: Opprett en ny fil
Opprett deretter en ny fil og oppdater den med noe innhold ved å bruke "ekko”Kommando:
$ ekko "Hei. Dette er ny fil ">> newfile.tekst
Trinn 3: Legg til fil i iscenesettingsindeksen
Nå, utfør den under-uttalte kommandoen for å legge til “Newfile”Fil til iscenesettelsesområdet:
$ git Legg til Newfile.tekst
Trinn 4: Forplikt endringer
For å lagre nye endringer i det lokale Git -depotet, bruk "git forpliktelse”Kommando:
$ git commit -m "newfile lagt til"
Trinn 5: Vis liste over grener
Etter det, sjekk listen over tilgjengelige filialer i arbeidsreposten ved å bruke "git gren”Kommando:
$ git gren
Det kan observeres at depotet har “Dev”Og“herre”To grener og stjerne”*”Symbol ved siden av“herre”Filial indikerer at det er en nåværende arbeidsgren:
Trinn 6: Bytt til en annen gren
Naviger nå til “Dev”Gren ved å bruke“git bryter”Kommando:
$ git switch Dev
Merk: Vi har byttet til “Dev”Gren og la til noen endringer i“Newfile”Fil som vil bli slått sammen med“herre”Branchs“Newfile”Fil.
Trinn 7: Legg til endringer i filen
Bruk “ekko”Kommando og legg til litt innhold i den nye filen:
$ ekko "dette er ny linje" >> newfile.tekst
Trinn 8: Legg til nye endringer i iscenesettelsesområdet
Trykk deretter på nylig tilførte endringer i GIT -iscenesettelsesindeksen:
$ git Legg til Newfile.tekst
Trinn 9: Forplikt nye endringer
For å lagre iscenesatte endringer i Git -depotet, kjør følgende kommando:
$ git commit -m "new line lagt til"
La oss anta at brukere vil legge til flere endringer i "Newfile”-Filen i“herre”Branch. For dette formålet, bytt tilbake til den aktuelle grenen og gjør ønskede endringer.
Trinn 10: Bytt tilbake til Old Branch
Bruk “git bryter”Kommando for å flytte tilbake til“herre”Branch:
$ git switch master
Trinn 11: Oppdater innholdet i filen
Deretter kan du oppdatere filen ved å legge til noe innhold i den ved å bruke kommandoen nedenfor:
$ ekko "Jeg vil legge til en linje" >> newfile.tekst
Trinn 12: Legg til oppdaterte endringer i GIT -indeksen
Oppdater iscenesettelsesområdet ved å legge til arbeidskatalogendringer ved hjelp av "git add”Kommando:
$ git Legg til Newfile.tekst
Trinn 13: Forplikt oppdaterte endringer
Lagre deretter alle de nylig ekstra endringene ved å skrive ut "git forpliktelse”Kommando:
$ git commit -m "Flere linjer lagt til i filen"
Trinn 14: Fett inn nytt innhold
For å slå sammen de nye endringene fra “Dev”Gren til“ master ”grenen, utfør“git rebase”Kommando:
$ git rebase dev
I den undergitte produksjonen kan det observeres at fusjonskonflikten skjedde:
For å løse det, gå til neste trinn.
Trinn 15: Løs fusjonskonflikt
Bruk kommandoen med gitt below for å hoppe over forpliktelsen som forårsaket konflikt og sørg for at ingen endringer blir lagt til filen i "herre”Branch:
$ git rebase --skip
Skjermbildet nedenfor indikerer at rebase -hoppoperasjonen er utført med hell:
Trinn 16: Kontroller endringene
Til slutt, se Repository Reference Log History for å sikre de nylig ekstra endringene:
$ git log --oneline
Det kan sees at den konfliktfylte forpliktelsen er fjernet fra forpliktelseshistorien:
Det er alt! Vi har effektivt forklart arbeidet med "git rebase -skip”Kommando.
Konklusjon
“git rebase -skip”Kommando hopper helt over forpliktelsen som forårsaker konflikter. Derfor vil ingen av modifikasjonene som er gjort av konfliktforpliktelsen bli anvendt. Konflikter oppstår vanligvis mens de sammenslåing av filialer, filer eller innholdet i filer. Denne opplæringen illustrerer hvordan sammenflyttingskonflikter oppstår og hvordan man løser slike konflikter ved å bruke “git rebase -skip”Kommando.