Hur man ångrar Last Git Commit

Att ångra den sista Git-commit är en vanlig uppgift för utvecklare som behöver återställa ändringar eller korrigera misstag. Git tillhandahåller flera metoder för att ångra den senaste commit, vilket låter dig behålla en ren och korrekt projekthistorik. Dessa metoder inkluderar återställning, återställning eller ändring av åtaganden, var och en har olika syften beroende på om du vill bevara eller ignorera ändringarna.

Den här guiden kommer att visa hur man ångrar den sista Git-commiten med hjälp av praktiska exempel. Genom att behärska dessa tekniker kan du effektivt hantera din Git-historik och säkerställa att ditt projekt förblir välorganiserat och felfritt.

Förstå Git Commit

Innan vi utforskar hur man ångrar en Git-commit, är det avgörande att förstå vad en commit betyder i Git. En commit representerar en ögonblicksbild av ditt arbete vid ett specifikt ögonblick. Den kapslar in alla ändringar du har gjort sedan den senaste commit. Varje commit identifieras unikt av en SHA-1-hash, vilket gör att Git kan upprätthålla en historik över förändringar.

Omvända en Git Commit

Det finns två primära tekniker för att vända en Git-commit: git-återställning och git-återställning. Vi kommer att diskutera varje metod i detalj, inklusive deras användningsfall och implikationer.

git reset --soft HEAD~1

Använder git reset

Git reset-kommandot är ett kraftfullt verktyg som låter dig flytta eller "återställa" ditt nuvarande HEAD till ett specificerat tillstånd. Så här använder du den för att ångra din senaste commit:

git reset --soft HEAD~1

I det här kommandot säkerställer –soft att dina ändringar bevaras i uppställningsområdet, och HEAD~1 hänvisar till commit före den nuvarande. Ändringarna från den ångrade commit kommer att finnas kvar i din arbetskatalog och uppställningsområdet.

Här är ett exempel på utdata:

Unstaged changes after reset:
M    file1.txt
M    file2.txt

Detta indikerar att ändringarna i fil1.txt och fil2.txt nu är avstängda.

Om du helt vill ignorera commit och alla associerade ändringar, kan du använda alternativet –hard:

git reset --hard HEAD~1

Var försiktig med detta kommando, eftersom det permanent ignorerar alla ändringar från den senaste commit.

Använder git revert

Git revert-kommandot skapar en ny commit som ångrar ändringarna som gjordes i en tidigare commit. Detta är ett säkert sätt att ångra ändringar, eftersom det inte ändrar den befintliga commit-historiken. Så här kan du använda den:

git revert HEAD

Detta kommando kommer att skapa en ny commit som ångrar ändringarna som gjordes i den senaste commit.

Här är ett exempel på utdata:

[master 0a9b2aa] Revert "Add new feature"
 1 file changed, 1 insertion(+), 2 deletions(-)

Detta indikerar att en ny commit har skapats som återställer ändringarna från föregående commit.

Ångra en Git Commit: Utökade exempel

Använda git-återställning: Fler exempel

Återställning till en specifik åtagande

Om du inte bara vill ångra den senaste commit utan flera commits kan du göra det genom att ange commit-hash istället för HEAD~1. Till exempel:

git reset --soft 9fceb02

Detta kommando kommer att flytta HEAD till commit som specificeras av hashen 9fceb02, och ändringarna från alla commits efter 9fceb02 kommer att behållas i mellanställningsområdet.

Återställ ostadgade ändringar

Om du har gjort ändringar men inte har genomfört dem ännu och du vill ångra dessa ändringar, kan du använda git reset utan någon commit-referens:

git reset --hard

Detta kommando kommer att ångra alla ostadgade ändringar, och återställer din arbetskatalog till tillståndet för den senaste commit.

Använda git revert: Fler exempel

Återställ ett antal åtaganden

Om du vill ångra ett intervall av commits, kan du specificera intervallet med git revert-kommandot. Till exempel:

git revert HEAD~3..HEAD

Detta kommando kommer att skapa nya commits som ångrar ändringarna som gjorts under de tre senaste commits.

Återställa ett specifikt åtagande

Om du vill ångra en specifik commit som inte är den senaste kan du göra det genom att ange commit-hash:

git revert 9fceb02

Detta kommando kommer att skapa en ny commit som ångrar ändringarna som gjorts i commit som anges av hashen 9fceb02.

Slutsats

Git är ett kraftfullt verktyg, och dess komplexitet kan vara skrämmande för nybörjare. Men med en tydlig förståelse för hur man ångrar en commit, kan du tryggt navigera i Git. Om du väljer att använda git reset eller git revert beror på dina specifika behov och implikationerna av varje kommando. Kom ihåg att nyckeln till att bemästra Git är övning och utforskning.

Joshua James
Följ mig
Senaste inläggen av Joshua James (se alla)
Kategorier Git

Lämna en kommentar