Kako s Gitom: Rollback Commit

Ako ste unosili promjene u svoj Git repo i pogriješili, uvijek je lijepo znati da imate način da otklonite svoje obveze kako biste vratili svoj tijek rada u pravi smjer. U ovom ćemo priručniku pogledati naredbu za vraćanje gita za lokalne i udaljene predaje u spremište.

Važno je razumjeti razliku između resetiranja gita i povraćaja gita prije ronjenja.

Prednosti povratka gita Preko resetiranja gita

Ponovno vraćanje ima dvije važne prednosti u odnosu na resetiranje:

  • Ponovno vraćanje ne mijenja povijest projekta, što ga čini sigurnijim postupkom za naredbe koje su već prebačene u zajedničko spremište.
  • Vraćanje može ciljati pojedinačno počinjenje na proizvoljnoj točki povijesti, dok koristite git resetiranje, može raditi samo unatrag od trenutnog programa.

Pomoću naredbe za vraćanje gita za vraćanje unatrag na počinak

Sintaksa naredbe za vraćanje gita je:

1 git revert

Gdje je opisano u bilo kojem od podržanih obrazaca ID-a obveze, Git razumije.

Možete upotrijebiti git reflog da biste vidjeli lokalnu Git povijest sa svojim skraćenim ID-ovima počinjenja ili pomoću git dnevnika za pronalaženje SHA-1 ID-ova dužeg obrasca za cijelu povijest Gita.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

$ git reflog

bc32b0d GLAVA @ {0}: počinite: Dodan je kontakt-us.htm

ead83d9 GLAVA @ {1}: počinite: Dodan blog.htm

 
 

$ git zapisnik

počiniti bc32b0d8a583ccc3b0bcc9fbdfe3c7bbd1b4f0d1

Autor: Korisnik < [email protected]>

Datum: Utorak 10. veljače 12:38:32 2015 -0500

 

    Dodan je kontakt-us.htm

 

počiniti ead83d9f1d800de241580070d22a17f769ea7866

Autor: Korisnik < [email protected]>

Datum: Utorak 10. veljače 12:38:00 2015 -0500

 

    Dodan blog.htm

Naredba git reflog bilježi kronološku povijest svega što ste napravili u vašem lokalnom spremištu. Njegov puni učinak mogao bi izgledati ovako:

1
2
3
4
5

bc32b0d GLAVA @ {1}: počinite: Dodan je kontakt-us.htm

ead83d9 GLAVA @ {2}: počinite: Dodan blog.htm

1a890e7 GLAVA @ {3}: commit: Dodano o-us.htm

bf58ea1 GLAVA @ {4}: počinite: Dodan indeks.htm

5c66257 GLAVA @ {5}: počiniti (početno): Dodano README.md

Slučaj 1: Povrat jedinstvene, lokalne Git obveze

Recimo, pošto ste upravo dodali datoteku contact-us.htm u svoj projekt, shvatili ste da više ne trebate datoteku about-us.htm..

Možete se vratiti na vrijeme kada ste se obvezali i zadržati sve promjene nakon toga na sljedeći način:

1 git revert 1a890e7

Git će vas obavijestiti s novom bilješkom za ovo vraćanje počinjenja, dajući vam zadani iznos:

1
2
3

Vrati "Dodano o-us.htm"

 

Ovo vraća naredbu 1a890e7980283e348cde0444cabe709f6342a851.

Idite naprijed i spremite tu bilješku ili izradite svoju kako biste dovršili vraćanje:

1
2
3

[master 2bbaed3] Povrati "Dodano o-us.htm"

1 datoteka je promijenjena, 1 brisanje (-)

izbriši način 100644 o-us.htm

To će povratiti određenu lokalnu obvezu. Sačuvani su noviji zapisi i povijest Gita.

1
2
3
4
5
6
7
8
9
10

$ git reflog

2bbaed3 GLAVA @ {0}: povrat: Povrati "Dodano o-us.htm"

bc32b0d GLAVA @ {1}: počinite: Dodan je kontakt-us.htm

ead83d9 GLAVA @ {2}: počinite: Dodan blog.htm

1a890e7 GLAVA @ {3}: commit: Dodano o-us.htm

bf58ea1 GLAVA @ {4}: počinite: Dodan indeks.htm

5c66257 GLAVA @ {5}: počiniti (početno): Dodano README.md

 

$ ls

blog.htm kontakt-us.htm Urantije README.md

Slučaj 2: Povrat raspona lokalnih git naredbi

Za vraćanje svih lokalnih radnji od “1a890e7” do “HEAD” koristite sljedeće:

1 git revert 1a890e7..HEAD

Slučaj 3: Vraćanje git obveze koja je pritisnuta

Nakon što pogledate udaljeno skladište, prvo možete upotrijebiti git revert i potom pritisnuti kao i obično:

1
2

git revert 1a890e7980283e348cde0444cabe709f6342a851

git push origin

Slučaj 4: Povrat raspona Git-a koji su gurnuti

Također možemo poništiti skup gurnutih obveza:

1
2

git revert 1a890e7980283e348cde0444cabe709f6342a851..ead83d9f1d800de241580070d22a17f769ea7866

git push origin

Samo trebate poništiti brzi lokalni angažman? Koristite resetiranje gita

Ponekad ako samo napravite brzu, lokalnu grešku, možda ne želite koristiti git revert, a umjesto toga možda želite samo koristiti git resetiranje.

Bilo kako bilo, sada bi se, nadamo se, trebali razumjeti kako popraviti loše počinjenje koje ste slučajno sklopili s Gitom. Postupak se u početku može činiti kompliciranim i zastrašujućim, ali zapravo je prilično jednostavno shvatiti nakon što sami prođete kroz postupak nekoliko puta.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me