git-revert(1)

Från Wiki.linux.se -Linux wikipedia på Svenska.
Hoppa till navigering Hoppa till sök

NAMN

git-revert - återställ vissa befintliga incheckningar

SYNOPSIS

git revert [--[no-]edit] [-n] [-m <föräldra-nummer>] [-s] [-S[<nyckel-id>]] <incheckning>...
git revert (--continue | --skip | --abort | --quit)

BESKRIVNING

Givet en eller flera befintliga incheckningar återställer git revert de ändringar som de tillhörande patcharna inför, och skapar nya incheckningar som registrerar återställningen. Detta kräver att ditt arbets­träd är rent, det vill säga att det inte finns några ändringar jämfört med HEAD-incheckningen.

Observera: git revert används för att skapa nya incheckningar som upphäver effekten av tidigare incheckningar, ofta en enstaka felaktig incheckning. Om du vill kasta bort alla icke incheckade ändringar i arbetskatalogen bör du se git-reset(1), särskilt flaggan --hard. Om du vill hämta ut specifika filer så som de såg ut i en annan incheckning bör du se git-restore(1), särskilt flaggan --source. Var försiktig med dessa alternativ, eftersom båda kan kasta bort icke incheckade ändringar i arbetskatalogen.

Se ”Reset, restore and revert” i git(1) för skillnaderna mellan de tre kommandona.

FLAGGOR

<incheckning>...

Incheckningar som ska återställas. För en mer fullständig lista över sätt att ange incheckningsnamn, se gitrevisions(7). Mängder av incheckningar kan också anges, men ingen genomgång görs som standard; se git-rev-list(1) och dess flagga --no-walk.

-e, --edit

Med denna flagga låter git revert dig redigera incheckningsmeddelandet innan återställningen checkas in. Detta är standard om kommandot körs från en terminal.

-m föräldra-nummer, --mainline föräldra-nummer

Vanligtvis kan du inte återställa en sammanslagningsincheckning, eftersom du inte vet vilken sida av sammanslagningen som ska betraktas som huvudlinjen. Denna flagga anger föräldranumret, med början från 1, för huvudlinjen och gör det möjligt för revert att upphäva ändringen relativt den angivna föräldern.
Att återställa en sammanslagningsincheckning innebär att du deklarerar att du aldrig vill ha de trädändringar som sammanslagningen tog in. Följden blir att senare sammanslagningar endast tar in trädändringar som införts av incheckningar som inte är förfäder till den tidigare återställda sammanslagningen. Detta kan vara eller inte vara det du vill.
Se revert-a-faulty-merge How-To[1] för mer information.

--no-edit

Med denna flagga startar git revert inte redigeraren för incheckningsmeddelandet.

--cleanup=<läge>

Denna flagga avgör hur incheckningsmeddelandet ska rensas innan det skickas vidare till incheckningsmekanismen. Se git-commit(1) för mer information. Om <läge> till exempel får värdet scissors, läggs saxmarkörer till i MERGE_MSG innan meddelandet skickas vidare vid en konflikt.

-n, --no-commit

Normalt skapar kommandot automatiskt incheckningar med incheckningsmeddelanden som anger vilka incheckningar som återställdes. Denna flagga tillämpar de ändringar som behövs för att återställa de namngivna incheckningarna i ditt arbets­träd och index, men skapar inga incheckningar. När denna flagga används behöver dessutom ditt index inte matcha HEAD-incheckningen. Återställningen görs mot indexets ursprungliga tillstånd.
Detta är användbart när effekten av flera incheckningar ska återställas till indexet i följd.

-S[<nyckel-id>], --gpg-sign[=<nyckel-id>], --no-gpg-sign

GPG-signera incheckningar. Argumentet nyckel-id är valfritt och standard är incheckarens identitet. Om det anges måste det sitta direkt efter flaggan utan mellanslag. --no-gpg-sign är användbart för att upphäva både konfigurationsvariabeln commit.gpgSign och tidigare --gpg-sign.

-s, --signoff

Lägg till en Signed-off-by-rad i slutet av incheckningsmeddelandet. Se flaggan signoff i git-commit(1) för mer information.

--strategy=<strategi>

Använd den angivna sammanslagningsstrategin. Bör endast användas en gång. Se avsnittet MERGE STRATEGIES i git-merge(1) för detaljer.

-X<option>, --strategy-option=<option>

Skicka en strategispecifik flagga vidare till sammanslagningsstrategin. Se git-merge(1) för detaljer.

--rerere-autoupdate, --no-rerere-autoupdate

Efter att rerere-mekanismen har återanvänt en registrerad lösning på den aktuella konflikten för att uppdatera filerna i arbets­trädet, tillåt att den även uppdaterar indexet med resultatet av lösningen. --no-rerere-autoupdate är ett bra sätt att dubbelkontrollera vad git-rerere(1) gjorde och upptäcka möjliga felaktiga sammanslagningar innan resultatet checkas in i indexet med ett separat git-add(1).

--reference

I stället för att börja loggmeddelandets brödtext med ”This reverts <full-object-name-of-the-commit-being-reverted>.” hänvisas till incheckningen med formatet --pretty=reference (jämför git-log(1)). Konfigurationsvariabeln revert.reference kan användas för att aktivera denna flagga som standard.

SEKVENSERARUNDERKOMMANDON

--continue

Fortsätt den pågående operationen med hjälp av informationen i .git/sequencer. Kan användas för att fortsätta efter att konflikter lösts i en misslyckad cherry-pick eller revert.

--skip

Hoppa över den aktuella incheckningen och fortsätt med resten av sekvensen.

--quit

Glöm den pågående operationen. Kan användas för att rensa sekvenserarens tillstånd efter en misslyckad cherry-pick eller revert.

--abort

Avbryt operationen och återgå till tillståndet före sekvensen.

EXEMPEL

git revert HEAD~3
Återställ ändringarna som anges av den fjärde sista incheckningen i HEAD och skapa en ny incheckning med de återställda ändringarna.
git revert -n master~5..master~2
Återställ ändringarna som gjorts av incheckningarna från den femte sista incheckningen i master, inkluderad, till den tredje sista incheckningen i master, inkluderad, men skapa ingen incheckning med de återställda ändringarna. Återställningen ändrar endast arbets­trädet och indexet.

DISKUSSION

Även om Git automatiskt skapar ett grundläggande incheckningsmeddelande rekommenderas det starkt att förklara varför den ursprungliga incheckningen återställs. Dessutom leder upprepade återställningar av återställningar till allt mer otympliga ämnesrader, till exempel Reapply "Reapply "<ursprungligt-ämne>"". Överväg att formulera om sådana ämnesrader så att de blir kortare och mer unika.

KONFIGURATION

Allt nedanför denna rad i detta avsnitt inkluderas selektivt från dokumentationen för git-config(1). Innehållet är samma som det som finns där:

revert.reference

Om denna variabel sätts till true beter sig git revert som om flaggan --reference hade angetts.

SE ÄVEN

git-cherry-pick(1)

GIT

Del av sviten git(1).

NOTER

  1. revert-a-faulty-merge How-To
    file:///home/mtk/share/doc/git-doc/howto/revert-a-faulty-merge.html

COLOFON

Denna sida är en del av projektet git (Git distributed version control system). Information om projektet finns på http://git-scm.com/. Om du har en felrapport för denna manualsida, se http://git-scm.com/community. Denna sida hämtades från projektets uppströms Git-arkiv på https://github.com/git/git.git den 24 maj 2026. Vid den tidpunkten var datumet för den senaste funna incheckningen i arkivet den 22 maj 2026. Om du upptäcker renderingsproblem i denna HTML-version av sidan, tror att det finns en bättre eller mer uppdaterad källa för sidan, eller har rättelser eller förbättringar av informationen i denna COLOFON, som inte är en del av den ursprungliga manualsidan, skicka e-post till man-pages@man7.org.

Git 2.54.0.254.g6a4418          2026-05-22                  GIT-REVERT(1)

Sidor som hänvisar till denna sida

Sidslut

Orginalhemsidan på Engelska https://man7.org/linux/man-pages/man1/git-revert.1.html Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp hemma som har sponsrat Linux.se med webbhotell.