Hur man gör med Git: Rollback Commit

Om du har gjort ändringar i din Git-repo och gjort ett misstag, är det alltid trevligt att veta att du har ett sätt att återuppta dina åtaganden för att få ditt arbetsflöde tillbaka på rätt spår. I den här guiden kommer vi att titta på kommandot git revert för lokala och fjärråtkomster till ett arkiv.


Det är viktigt att förstå skillnaden mellan git-återställning och git-återgång innan du dyker in.

Fördelar med git revert Över git-återställning

Återvändning har två viktiga fördelar över att återställa:

  • Återställning ändrar inte projekthistoriken, vilket gör det till en säkrare operation för åtaganden som redan har skjutits till ett delat arkiv.
  • Återvändning kan rikta in sig på en individuell begåvning vid en godtycklig punkt i historiken, medan du använder git-återställning, det kan bara fungera bakåt från det nuvarande åtagandet.

Använd git för att återställa kommandot för att rulla tillbaka ett åtagande

Kommandosyntaxen för git revert är:

1 git återvända

Där det beskrivs i någon av de stödda engagemangsformulärerna förstår Git.

Du kan använda git-återloggning för att se den lokala Git-historien med dess korta åtagandes-ID, eller använda git-logg för att hitta de längre formen för SHA-1-åtagandena för hela den engagerade Git-historien.

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

$ git reflog

bc32b0d HEAD @ {0}: commit: Tillagd contact-us.htm

ead83d9 HEAD @ {1}: commit: Lagt till blog.htm

 
 

$ git-logg

begå bc32b0d8a583ccc3b0bcc9fbdfe3c7bbd1b4f0d1

Författare: Användare < [email protected]>

Datum: Tis 10 feb 12:38:32 2015 -0500

 

    Lade till kontakt-us.htm

 

begå ead83d9f1d800de241580070d22a17f769ea7866

Författare: Användare < [email protected]>

Datum: Tis 10 feb 12:38:00 2015 -0500

 

    Lade till blog.htm

Git reflog-kommandot registrerar en kronologisk historik över allt du har gjort i ditt lokala arkiv. Dess fulla utgång kan se ut så här:

1
2
3
4
5

bc32b0d HEAD @ {1}: commit: Tillagd contact-us.htm

ead83d9 HEAD @ {2}: commit: Lagt till blog.htm

1a890e7 HEAD @ {3}: commit: Lagt till om-us.htm

bf58ea1 HEAD @ {4}: commit: Tillagd index.htm

5c66257 HEAD @ {5}: commit (initial): Tillagd README.md

Fall 1: Återvända ett enda, lokalt Git-åtagande

Låt oss nu säga eftersom du precis har lagt till en kontakt-us.htm-fil till ditt projekt, har du insett att du inte verkligen behöver om-us.htm-filen längre.

Du kan återgå till den tid då du gjorde det åtagandet och behålla alla ändringar efter det genom att göra följande:

1 git revert 1a890e7

Git kommer att be dig med en ny anmärkning för detta återställningsåtagande, vilket ger dig en standard för:

1
2
3

Återgå "Lade till om-us.htm"

 

Detta återgår åtaganden 1a890e7980283e348cde0444cabe709f6342a851.

Gå vidare och spara den anteckningen, eller skapa din egen för att slutföra återställningen:

1
2
3

[master 2bbaed3] Återvänd "Lade till om-us.htm"

1 fil har ändrats, 1 radering (-)

radera läge 100644 om-us.htm

Detta kommer att återställa ett specifikt, lokalt åtagande. Nyare åtaganden och Git-historien bevaras.

1
2
3
4
5
6
7
8
9
10

$ git reflog

2bbaed3 HEAD @ {0}: återgå: Återgå "Lade till om-us.htm"

bc32b0d HEAD @ {1}: commit: Tillagd contact-us.htm

ead83d9 HEAD @ {2}: commit: Lagt till blog.htm

1a890e7 HEAD @ {3}: commit: Lagt till om-us.htm

bf58ea1 HEAD @ {4}: commit: Tillagd index.htm

5c66257 HEAD @ {5}: commit (initial): Tillagd README.md

 

$ ls

blog.htm kontakt us.htm index.htm README.md

Fall 2: Återvända en rad lokala Git-åtaganden

För att återställa alla lokala åtgärder från “1a890e7” upp till “HEAD”, använd följande:

1 git revert 1a890e7..HEAD

Fall 3: Återvända ett Git-åtagande som pressades

När du har kollat ​​på fjärrförvaret kan du först använda git revert och sedan trycka som vanligt:

1
2

git revert 1a890e7980283e348cde0444cabe709f6342a851

git push ursprung

Fall 4: Återvända en rad Git-åtaganden som trycktes

Vi kan också ångra en uppsättning drivna åtaganden:

1
2

git revert 1a890e7980283e348cde0444cabe709f6342a851..ead83d9f1d800de241580070d22a17f769ea7866

git push ursprung

Behöver du bara ångra ett snabbt lokalt åtagande? Använd git-återställning

Ibland om du bara gör ett snabbt, lokalt misstag kanske du inte vill använda git-återställning, och istället kanske du bara vill använda git-återställning.

Hursomhelst, bör du förhoppningsvis nu förstå hur du fixar en dålig åtagande som du av misstag gjorde med Git. Processen kan verka komplicerad och skrämmande till en början, men det är faktiskt ganska enkelt att förstå när du själv har gått igenom processen några gånger.

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