Hvordan squasher jeg mine siste N Git-forpliktelser sammen?

Hvordan Squasher Jeg Mine Siste N Git Forpliktelser Sammen



Utviklere kan legge til endringer i GitHub-vertstjenesten gjennom det lokale depotet. De kan presse eller trekke endringer i henhold til kravene. Men mens du gjør endringer, kan det hende du må lagre dem i depotet ved å forplikte.

Git gjør det mulig for utviklere å slå sammen forpliktelsene ved squashing, som er prosessen med å kombinere mer enn én forpliktelse til en enkelt forpliktelse. Du kan utføre denne operasjonen når som helst ved å bruke Git Rebase-funksjonen, for eksempel ' $ git rebase -i HEAD~1 ' kommando.

Dette innlegget vil forklare metoden for å squash de siste N Git-commitene sammen.

Hvordan squasher jeg mine siste N Git-forpliktelser sammen?

For å knuse det siste N-tallet av Git-bekreftelser sammen, må du først flytte til det lokale Git-depotet og initialisere det. Deretter oppretter og sporer du filen til oppsamlingsområdet. Overfør de lagte endringene til Git-depotet. Se deretter Git-logghistorikken og tilbakestill HEAD-pekerposisjonen. Slå sammen forpliktelsene ved å utføre ' $ git merge –squash ' kommando. Til slutt, commit endringer og squash de sist sammenslåtte commits ved å utføre ' $ git rebase -i HEAD~1 ' kommando.

La oss nå sjekke prosedyren for det ovenfor diskuterte scenariet!

Trinn 1: Naviger til Git Repository
Først, utfør ' cd ” kommando for å flytte til ønsket Git lokale depot:

$ cd 'C:\Brukere \n azma\Git\Demo10'

Trinn 2: Opprett fil
Opprett en ny fil i det lokale Git-depotet ved å bruke følgende kommando:

$ ta på fil2.txt

Trinn 3: Spor fil
Kjør ' $ git add ” kommando med filnavnet for å spore inn i Git lokale depot:

$ git add fil2.txt

Trinn 4: Lagre endringer
For å lagre og oppdatere det lokale Git-depotet, kjør ' $ git commit kommandoen med ' -m '-alternativet og legg til ønsket commit-melding:

$ git commit -m '2. fil lagt til'

Trinn 5: Opprett ny fil
Opprett en ny fil ved å bruke ' ta på kommando i Git-depotet:

$ ta på file3.txt

Trinn 6: Spor fil
Deretter sporer du en nyopprettet fil inn i oppsamlingsområdet ved å bruke ' git add kommando sammen med filnavnet:

$ git add file3.txt

Trinn 7: Bekreft endringer
Utfør ' git commit ” kommando for å lagre de lagte endringene til Git lokale depot:

$ git commit -m '3. fil lagt til'

Trinn 8: Sjekk Git-loggloggen
Sjekk Git-loggloggen ved å bruke følgende kommando:

$ git logg .

Her kan det observeres at de to siste forpliktelsene er lagt til depotet:

Trinn 9: Tilbakestill HEAD
Nå, utfør ' git tilbakestilt kommandoen med ' -hard '-alternativet og spesifiser HODE-posisjonen der du vil tilbakestille den:

$ git tilbakestilt --hard HODE~ to

Som et resultat vil HEAD-pekerposisjonen tilbakestilles til de siste to commitene:

Trinn 10: Merge Commits
Nå, utfør ' git merge ' kommando med ' –squash alternativet for å slå sammen forpliktelsen på gjeldende HEAD-indeks:

$ git merge --squash HODE @ { 1 }

Som du kan se, er de siste forpliktelsene slått sammen:

Trinn 11: Oppdater repository
Overfør de lagte endringene til depotet og oppdater det:

$ git commit -m 'To filer lagt til'

Trinn 12: Git Log History
Nå, utfør ' git logg. ”-kommandoen for å sjekke Git-loggloggen for de lagte endringene:

$ git logg .

I henhold til utdataene nedenfor, er de siste siste forpliktelsene klemt sammen med hell:

Trinn 13: Squash N Commits
Til slutt, utfør ' git rebase '-kommandoen sammen med ' -Jeg ' alternativet for å knuse ' N ” antall forpliktelser sammen. For eksempel har vi spesifisert ' HODE~1 ' for å knuse den siste forpliktelsen sammen:

$ git rebase -Jeg HODE~ 1

Når kommandoen ovenfor er utført, åpnes redigeringsprogrammet med noen instruksjoner. Legg til den nødvendige kommentaren og lagre den for å rebase og oppdatere de squashed commits:

Det er det! Vi har samlet den enkleste metoden for å squash de siste N commits sammen.

Konklusjon

For å knuse det siste N antall forpliktelser sammen, naviger først til Git-depotet og initialiser det. Deretter oppretter og sporer du filen til oppsamlingsområdet. Overfør de lagte endringene til Git-depotet. Tilbakestill deretter HEAD-pekerposisjonen og slå sammen forpliktelsene ved å utføre ' $ git merge –squash ' kommando. Til slutt, foreta endringer og utfør ' $ git rebase -i HEAD~1 ” kommando for å knuse de sist sammenslåtte forpliktelsene. Dette innlegget ga metoden for å squash de siste N commits sammen.