Hva gjør Git Rebase -Skip?

Hva gjør Git Rebase -Skip?

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.