Git angre trekk

Git angre trekk
Git er et utrolig verktøy som gir utviklere mye kraft. I motsetning til andre systemer, gir Git deg imidlertid ikke en tilbakestillingsbryter hvis noe går galt.

Imidlertid vil Git gjøre sitt beste for å gi uønskede og farlige operasjoner i et depot.

Denne artikkelen vil diskutere hvordan vi kan angre en git -trekkoperasjon. Dette kan skje hvis endringene på det eksterne depotet roter med dine lokale endringer. Eller hvis du vil gå tilbake til en stat før du gjorde trekkoperasjonen.

Hva er et git -trekk?

GIT Pull -kommandoen lar deg hente endringene som er gjort til det eksterne depotet og slå dem sammen med ditt lokale depot.

Git vil starte med å sjekke om det er noen endringer i det eksterne depotet som ikke er tilgjengelige i den lokale repoen når du kjører Git Pull -kommandoen.

Hvis det er, vil Git utføre en henting for å laste ned de eksterne endringene til det lokale systemet. Endelig vil Git utføre en fusjonsoperasjon for å synkronisere endringene i det lokale depotet.

Enkelt sagt lar Girt Pull -kommandoen deg få de siste endringene i det eksterne depotet.

Hvis du kjører Git Pull -kommandoen, bør du se metadataene og informasjonen om filene som er endret.

Et eksempelutgang vises:

$ git pull
Fjern: Oppregning av objekter: 3, gjort.
Fjern: Teller objekter: 100% (3/3), gjort.
Fjern: Komprimerende objekter: 100% (3/3), gjort.
Fjern: Totalt 3 (Delta 0), gjenbrukt 0 (Delta 0), Pack-Resused 0
Pakk ut objekter: 100% (3/3), 1.45 KIB | 93.00 kib/s, gjort.
Fra https: // github.com/brukernavn/reponame
9B076C0… B768A43 Master -> Origin/Master
Oppdatering 9B076C0… B768A43
Spol fremover
Readme.MD | 15 ++++++++++-----
1 Fil endret, 10 innsettinger (+), 5 slettinger (-)

Vi kan se fra utgangen over at bare readme,.MD -fil er endret.

La oss anta at vi ønsker å angre ovennevnte trekkoperasjon. Hvordan ville vi gjøre det?

Git tilbakestilling

GIT -tilbakestillingskommandoen lar oss gå tilbake til et bestemt punkt i en repo. Så for eksempel kan vi bruke denne kommandoen til å angre en git -operasjon.

Merk at det er godt å huske på at å kjøre GIT RESET -kommandoen vil forkaste eventuelle endringer som ikke er begått i det spesifikke depotet. For å forhindre å miste eventuelle endringer, utfører du en git -forpliktelse for endringene du ønsker å bevare.

For å angre en git pull -operasjon, start med å hente det spesifikke punktet. For eksempel kan du gjøre dette med Git Refog -kommando:

$ git reflog

Kommandoen skal returnere Commits -logger og endringer som er gjort i repoen. Finn den ved siden av trekkoperasjonen som:

I dette tilfellet ønsker vi å gå tilbake til Commit 9B076C0

Vi kan nå kjøre Git Reset -kommandoen som:

git reset 9b076c0 -hard

Du kan bruke Head -setningen for å gjøre oppgaven din enklere hvis du ikke har gjort noen endringer etter trekkdrift.

$ git reset head ~ 1 -hard

Merk at for å bruke Head -setningen bare hvis du ikke har gjort noen endringer i depotet etter trekkoperasjonen.

Dette er fordi hodet ~ 1 vil flytte depotet tilbake til en forpliktelse, enten det er trekkoperasjonen eller ikke.

Merk at avhengig av versjonen av GIT, kan du erstatte -hardflagget som:

$ git reset -hold head ~ 1

Alternativet -hard -alternativet vil tvinge de uforpliktende endringene til å bli kastet.

Du kan lære mer:

https: // git-cm.com/docs/git-reset

Konklusjon

I denne artikkelen lærte vi hvordan vi kan angre en trekkoperasjon. Vi dekket også hvordan Git Pull -operasjonen fungerer.