Återställa Commits
Svep för att visa menyn
I det omfattande landskapet av versionshantering med Git är ett vanligt scenario behovet av att ångra ändringar som införts av en specifik commit. Detta kan bero på olika orsaker, såsom att upptäcka en bugg, inse att en funktion inte är redo för produktion, eller helt enkelt vilja ta en annan väg.
Som tur är erbjuder Git kommandot git revert för att skapa en ny commit som ångrar ändringarna som införts av den specifika commiten genom att göra inversen av ändringarna i den commiten.
Ångra den senaste commiten
För att ångra den senaste commiten, använd följande kommando:
git revert HEAD
HEAD är en pekare till den senaste commiten på den aktuella grenen.
Eftersom det bara finns en gren pekar HEAD på senaste commit. Detta kommando skapar en ny commit som återställer ändringarna från den föregående. Git öppnar standardtextredigeraren för att möjliggöra redigering av commit-meddelandet vid behov. Spara och stäng redigeraren för att slutföra återställningen.
Exempelarbetsflöde
Lägg först till en ny rad i filen recipe.txt med nästa steg och committa ändringen direkt, utan att använda staging-området:
echo "8. Peel the eggs" > recipe.txt
git commit -a -m "Add another step to the recipe"
Visa nu detaljerad information om denna commit med kommandot git show och HEAD:
git show HEAD
Hoppsan, alla tidigare rader blev borttagna eftersom fel utdataoperator användes — > istället för >>, vilket skrev över filen.
Ingen fara; använd kommandot git revert för att ångra dessa ändringar i den senaste committen:
git revert HEAD
Som du kan se öppnas standardtextredigeraren (Vim i detta fall) med ett förvalt commit-meddelande. Lämna det som det är för tillfället, men i riktiga projekt rekommenderas det att inkludera orsaken till återställningen, till exempel:
Revert "Add another step to the recipe"
Reason for rollback: the recipe.txt was overwritten.
This reverts commit b1148490543882f038069a0233a5d7e0b33f6221.
För att spara ändringar och avsluta Vim, tryck på Escape-tangenten och två stora Z-bokstäver.
Visa slutligen ändringarna i de två senaste commiten:
git log -p -2
I princip, som förväntat, skapades en ny commit med de omvända ändringarna.
Använd pilarna för att bläddra upp eller ner och tryck på q-tangenten för att avsluta.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal