git-revert(1)
git-revert(1)
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 arbetsträ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 arbetsträ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 arbetsträ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 arbetsträ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
Del av sviten git(1).
NOTER
- 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.