Hva er forskjellen mellom Git Revert, Checkout og Reset?

Hva Er Forskjellen Mellom Git Revert Checkout Og Reset



Git brukes til å spore endringer i kildekodefiler og koordinere arbeid mellom flere utviklere. Det lar utviklere rulle tilbake til de tidligere tilstandene og til og med angre forpliktelser, eller endringer som er gjort i depotet. « git gå tilbake ', ' git Sjekk ut ' og ' git tilbakestilt ” er tre av de mest nyttige Git-kommandoene å vite mens du jobber med et Git-prosjekt.

Resultatene av denne artikkelen er:

Skille mellom kommandoer 'git reset', 'git revert' og 'git checkout'?

' git gå tilbake ', ' git utsjekking ', og ' git tilbakestilt kommandoer er måter å gjøre endringer i kildekoden og deretter angre dem hvis brukeren ikke liker hvordan de ble. Forskjellen mellom disse kommandoene ligger i deres funksjonalitet og bruksområder, for eksempel:







  • ' git gå tilbake ”-kommandoen brukes til å angre endringer ved å opprette en ny repository-commit fra en tidligere commit og legge til ny historie til depotet.
  • ' git utsjekking ”-kommandoen brukes til å bytte fra en gren til en annen og gjenopprette arbeidstrefiler fra oppsamlingsområdet.
  • ' git tilbakestilt ”-kommandoen fjerner endringer fra oppsamlingsindeksen. Den fjerner filer fra iscenesettelsesområdet slik at de kan lagres igjen senere om nødvendig.

Hvordan angre forpliktelser ved å bruke 'git revert'-kommandoen?

For å angre forpliktelser, gå først til ønsket Git-depot og lag en fil. Spor deretter filen og foreta endringer. Etter det, legg til noe innhold i den nye filen, scenen og foreta nye endringer. Til slutt, utfør ' git gå tilbake ”-kommando og bekreft tilbakestillingsendringene.



Trinn 1: Flytt til Git Directory

Utfør ' cd ”-kommandoen sammen med den bestemte lokale katalogbanen og naviger til den:



$ cd 'C:\Go \R repository1'





Trinn 2: Opprett ny fil

Generer en ny fil i gjeldende depot ved hjelp av kommandoen nedenfor:

$ ta på demo_file.txt



Trinn 3: Spor ny fil

Deretter bruker du ' git add ” kommando for å legge til en ny fil til oppsamlingsområdet:

$ git add demo_file.txt

Trinn 4: Bekreft endringer

Deretter utfører du følgende kommando for å overføre filen fra oppsamlingsområdet:

$ git forplikte -m 'Demofil lagt til'

Trinn 5: Oppdater ny fil

Etter det, legg til noe innhold i den nye filen og oppdater den ved hjelp av ' ekko ' kommando:

$ ekko 'Hei! Demoinnhold' >> demo_file.txt

Trinn 6: Legg til nye endringer i oppsamlingsområdet

Kjør deretter ' git legg til. ” kommando for å iscenesette alle lagte endringer:

$ git add .

Trinn 7: Foreta nye endringer

Utfør de trinnvise endringene ved å utføre kommandoen nedenfor sammen med meldingen:

$ git forplikte -m 'Fil oppdatert'

Trinn 8: Sjekk Git-loggen

For å se forpliktelseshistorikken, sjekk Git-loggen ved å bruke kommandoen nedenfor:

$ git logg --på nett

I henhold til utgangen nedenfor er det to forpliktelser, og HEAD peker på ' Fil oppdatert 'forplikte:

Anta nå at den siste commit ble gjort ved en feil, og vi må angre endringer. I denne situasjonen bruker du tilbakestillingsoperasjonen som følger.

Trinn 9: Tilbakestill endringer

Kjør ' git gå tilbake ”-kommando sammen med HEAD for å angre endringer av den forpliktelsen:

$ git gå tilbake HODE

I skjermbildet nedenfor kan du se at tilbakestillingsoperasjonen er utført vellykket:

Trinn 10: Bekreft Tilbakestill endringer

Til slutt, sjekk Git-referanseloggen for å se de nye endringene i forpliktelsesloggen:

$ git logg --på nett

Det kan observeres at ' Fil oppdatert ” commit er fortsatt i prosjektets historie selv etter tilbakeføringen. Så i stedet for å fjerne den, la denne spesielle kommandoen til en ny forpliktelse for å tilbakestille endringene:

Hvordan bytte gren ved å bruke 'git checkout'-kommandoen?

For å sjekke ut fra en lokal filial til en annen ønsket filial, sjekk først alle tilgjengelige filialer i depotet. Kjør deretter ' git utsjekking ” kommando sammen med ønsket filialnavn der utviklere må bytte.

Trinn 1: Sjekkliste over grener

Se listen over grener i gjeldende depot ved hjelp av ' git gren ' kommando:

$ git gren

I utgangen nedenfor kan det ses at det er to grener til stede i depotet, og ' herre ' er den nåværende arbeidsgrenen:

Trinn 2: Gå til en annen filial

Kjør nå ' git utsjekking ” kommando sammen med ønsket filialnavn og bytt til det:

$ git utsjekking dev

Trinn 3: Bekreft gjeldende gren

For å sikre om betalingsoperasjonen har blitt utført vellykket eller ikke, se listen over filialer:

$ git gren

Det kan sees at vi har fullført betaling fra ' herre ' gren til ' dev ' gren. Nå, ' dev ' er den nåværende arbeidsgrenen:

Hvordan spore endringer ved å bruke 'git reset' kommando?

For å fjerne endringer, sjekk først Git-referanseloggen til det gjeldende depotet. Deretter utfører du ' git tilbakestilt ” kommando for å flytte grenpekeren.

Trinn 1: Sjekk Git-loggen

Se forpliktelseshistorikken og sjekk hvor HODET peker ved å bruke ' git logg ' kommando:

$ git logg --på nett

Det kan observeres at HODET peker på ' Fil oppdatert 'forplikte:

Trinn 2: Tilbakestill endringer

For å fjerne commit fra Git lokale arbeidskatalog, kjør ' git tilbakestilt '-kommandoen sammen med '- hard '-alternativet, og spesifiser ønsket HODE-posisjon der det er nødvendig å flytte pekeren:

$ git tilbakestilt --hard HODE~ en

Den gitte utgangen betyr at tilbakestillingsoperasjonen har blitt utført vellykket:

Trinn 3: Bekreft tilbakestillingsendringer

Til slutt, se de nye endringene i commit-loggen ved å sjekke Git-loggen gjennom kommandoen nedenfor:

$ git logg --på nett

Som du kan se at ' Fil oppdatert ” commit er fjernet fra commit-loggen og HEAD peker nå på ” Demofil lagt til 'forplikte:

Vi har forklart forskjellen mellom ' git gå tilbake ', ' git utsjekking ' og ' git tilbakestilt ' kommandoer.

Konklusjon

' git gå tilbake ”-kommandoen brukes til å angre endringer ved å opprette en ny repository-commit fra en tidligere commit og legge til ny historie til depotet. ' git checkou t”-kommandoen brukes for å bytte grener i depotet og lar utviklere jobbe med forskjellige grener uten å måtte gjøre endringer direkte i depotet. På den annen side, ' git tilbakestilt ”-kommandoen brukes til ustadierte endringer fra sporingsområdet. Denne artikkelen skilte mellom kommandoene 'git reset', 'git revert' og 'git checkout' og hvordan de fungerer.