Svenska ▾ Topics ▾ Latest version ▾ git-revert last updated in 2.54.0

NAMN

git-revert - Ångra vissa befintliga incheckningar

SYNOPSIS

git revert [--[no-]edit] [-n] [-m <föräldranummer>] [-s] [-S[<nyckelid>]] <incheckning>…​
git revert (--continue | --skip | --abort | --quit)

BESKRIVNING

Givet en eller flera befintliga incheckningar, återställ de ändringar som de relaterade patcharna introducerar och registrera nya incheckningar som dokumenterar detta. Detta kräver ett rent arbetsträd (inga modifieringar från HEAD-incheckningen).

Obs: git revert används för att registrera nya incheckningar för att vända effekten av tidigare incheckningar (ofta bara en felaktig sådan). Om du vill slänga alla oincheckade ändringar i din arbetskatalog bör du se git-reset[1], särskilt alternativet --hard. Om du vill extrahera specifika filer som de var i en annan incheckning, bör du se git-restore[1], specifikt alternativet --source. Var försiktig med dessa alternativ eftersom båda kommer att slänga oincheckade ändringar i din arbetskatalog.

Se "Nollställ, återställ och ångra" i git[1] för skillnaderna mellan de tre kommandona.

ALTERNATIV

<incheckning>…​

Incheckningar att ångra. För en mer komplett lista över sätt att stava incheckningsnamn, se gitrevisions[7]. Uppsättningar av incheckningar kan också anges men ingen genomgång görs som standard, se git-rev-list[1] och dess --no-walk-alternativ.

-e
--edit

Med alternativet kan incheckningsmeddelandet redigeras innan återställningen checkas in. Detta är standardinställningen när kommandot körs från en terminal.

-m förälder-nummber
--mainline <förälder-nummer>

Vanligtvis kan du inte återställa en sammanslagning eftersom du inte vet vilken sida av sammanslagningen som ska betraktas som huvudlinjen. Det här alternativet anger huvudlinjens föräldra-nummer (med början från 1) och låter återställa till upphäva ändringen i förhållande till den angivna föräldern.

Att återgå en sammanslagningsincheckning deklarerar att trädändringarna som infördes av sammanslagningen aldrig ska tas in. Som ett resultat kommer senare sammanslagningar endast att inkludera trädändringar som introducerats av incheckningar som inte är föregångare till den tidigare ångrade sammanslagningsincheckningen. Detta kan vara önskvärt, men behöver inte vara det.

Se revert-a-faulty-merge How-To för mer information.

--no-edit

Med alternativet startar git revert inte incheckningsmeddelanderedigeraren.

--cleanup=<läge>

Det här alternativet avgör hur incheckningsmeddelandet ska rensas innan det skickas vidare till incheckningsmaskineriet. Se git-commit[1] för mer information. Om <läge> ges värdet scissors kommer scissors att läggas till i MERGE_MSG innan det skickas vidare i händelse av en konflikt.

-n
--no-commit

Vanligtvis skapar kommandot automatiskt incheckningar med loggmeddelanden som anger vilka incheckningar som har återställts. Flaggan tillämpar de ändringar som krävs för att återställa de namngivna incheckningarna i arbetsträdet och indexet, men gör inga nya incheckningar. Dessutom behöver indexet, när detta alternativ används, inte matcha HEAD-incheckningen. Återställningen görs mot starttillståndet för indexet.

Det är användbart när mer än en incheckningseffekt återställs i indexet i följd.

-S[<nyckeld>]
--gpg-sign[=<nyckelid>]
--no-gpg-sign

GPG-signera incheckningar. Argumentet nyckelid är valfritt och används som standard för incheckaridentiteten; om det anges måste det fästas vid alternativet utan mellanslag. --no-gpg-sign är användbart för att åsidosätta både konfigurationsvariabeln commit.gpgSign och tidigare --gpg-sign.

-s
--signoff

Lägg till en Signed-off-by-slutrad i slutet av incheckningsmeddelandet. Se signoff-alternativet i git-commit[1] för mer information.

--strategy=<strategi>

Använd den givna sammanslagningsstrategin. Bör endast användas en gång. Se avsnittet SAMMANSLAGNINGSSTRATEGIER i git-merge[1] för mer information.

-X<flaggor>
--strategy-option=<flaggor>

Skicka det merge-strategispecifika alternativet vidare till merge-strategin. Se git-merge[1] för mer information.

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

Efter att rerere-mekanismen återanvänder en inspelad lösning på den aktuella konflikten för att uppdatera filerna i arbetskatalogen, tillåt den även att uppdatera indexet med resultatet av lösningen. --no-rerere-autoupdate är ett bra sätt att dubbelkolla vad rerere gjorde och upptäcka potentiella felaktiga sammanslagningar, innan resultatet sparas i indexet med ett separat git add.

--reference

I stället för att börja loggmeddelandets brödtext med "This reverts <full-object-name-of-the-commit-being-reverted>.", referera till incheckningen med formatet "--pretty=reference" (jfr. git-log[1]). Konfigurationsvariabeln revert.reference kan användas för att aktivera detta alternativ som standard.

SEKVENSERARE UNDERKOMMANDON

--continue

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

--skip

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

--quit

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

--abort

Avbryt åtgärden och återgå till försekvenstillståndet.

EXEMPEL

git revert HEAD~3

Ångrar ändringarna som anges av den fjärde sista incheckningen i HEAD och skapa en ny incheckning med de upphävda ändringarna.

git revert -n master~5..master~2

Ångrar ändringarna som gjorts av incheckningar från den femte sista incheckningen i master (inkluderad) till den tredje sista incheckningen i master (inkluderad), men skapa inte någon incheckning med de ågrade ändringarna. Ångringen ändrar bara arbetsträd och indexet.

DISKUSSION

Även om git automatiskt skapar ett enkelt incheckningsmeddelande rekommenderas det starkt att förklara varför den ursprungliga incheckningen återställs. Dessutom leder upprepade återställningar av återställningsincheckningar till alltmer otympliga ämnesrader, till exempel Reapply "Reapply "<original-subject>"". Överväg att formulera om dem så att de blir kortare och mer unika.

KONFIGURATION

Allt under den här raden i det här avsnittet är selektivt inkluderat från dokumentationen git-config[1]. Innehållet är detsamma som det som finns där:

Warning

Missing sv/config/revert.adoc

See original version for this content.

GIT

En del av git[1]-sviten