Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Återställa en Specifik Commit | Ångra Ändringar
Git-Grunder

bookÅterställa en Specifik Commit

git revert

För att återställa en specifik commit, använd kommandot git revert. Detta kommando skapar en ny commit som återställer ändringarna som infördes av den angivna commiten. Grundläggande syntax:

git revert <commit-hash>

Istället för att använda HEAD (som riktar sig mot den senaste commiten), ange hashen för den commit (commit-ID) du vill återställa genom att ersätta <commit-hash> med det faktiska hashvärdet.

Mer om hashar

Varje commit har ett unikt ID — en 40-teckens hexadecimal sträng bestående av siffror (0–9) och bokstäver (a–f). Denna identifierare kallas en hash. Visa nu den senaste commiten:

Den senaste commiten

Här är dess hash:

1b00736255dca7d78659a9971d0c30fba0eb3075

Note
Observera

Du kommer att ha en annan hash för denna commit av den anledning som förklaras nedan.

Commit-hashen beräknas med hjälp av SHA-1-algoritmen baserat på följande information:

  • Commit-meddelande;
  • Datum;
  • Författare;
  • Ögonblicksbild av arbetskatalogen;
  • Hash för föregående commit (eller commits om det finns fler än en föregångare).

Om commiten är den första i arkivet beräknas uppenbarligen inte hash för föregående commit.

Eftersom all denna commit-information används för att beräkna dess hash, säkerställer användningen av hashvärden som commit-ID:n konsekvensen i arkivet. Dessutom är sannolikheten för att två olika commits får samma hash (sannolikheten för en kollision) extremt låg, så det är mycket osannolikt att det sker av en slump.

I princip, om något ändras i commiten, ändras dess hash också. Detta innebär att om data skulle bli korrupt av någon anledning, kan Git använda hashen för att identifiera detta.

Note
Notera

När en commit ändras, ändras commit-ID:t, vilket är anledningen till att det är bättre att inte använda kommandot git commit --amend när du arbetar med fjärrarkiv.

Exempelarbetsflöde

Innan du bestämmer vilken commit som ska återställas, visa de fyra senaste commiten:

De fyra senaste commitarna

Det finns en commit där filen recipe.txt lades till. Återställ denna commit för att skapa en ny commit som upphäver dessa ändringar och effektivt tar bort filen. I detta exempel är commit-hashen:

043b634d76a7a7744757350512b6367417c29e0

Din commit-hash kommer att vara annorlunda. Nu ska du återställa denna commit:

Byt ut denna hash mot din egen hash.

Git revert

Återigen öppnas standardtextredigeraren med standardmeddelandet för återställning. Lämna meddelandet oförändrat.

Standardmeddelande för återställnings-commit

Stäng sedan textredigeraren korrekt och visa ändringarna som gjordes i den senaste committen:

Den senaste committen

7 borttagningar har skett, vilket innebär att alla sju rader i filen togs bort. Verifiera nu att själva filen togs bort genom att lista alla icke-dolda filer och kataloger i projektkatalogen:

Listar filer och kataloger

recipe.txt-filen har tagits bort framgångsrikt.

question-icon

Matcha åtgärderna med respektive kommando.


Revert the latest commit:

Revert a specific commit:

Unstage changes:

Revert unstaged changes:

Unstage changes and then revert the changes in the working directory:

Overwrite the existing commit:

Click or drag`n`drop items and fill in the blanks

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 5

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Awesome!

Completion rate improved to 3.57

bookÅterställa en Specifik Commit

Svep för att visa menyn

git revert

För att återställa en specifik commit, använd kommandot git revert. Detta kommando skapar en ny commit som återställer ändringarna som infördes av den angivna commiten. Grundläggande syntax:

git revert <commit-hash>

Istället för att använda HEAD (som riktar sig mot den senaste commiten), ange hashen för den commit (commit-ID) du vill återställa genom att ersätta <commit-hash> med det faktiska hashvärdet.

Mer om hashar

Varje commit har ett unikt ID — en 40-teckens hexadecimal sträng bestående av siffror (0–9) och bokstäver (a–f). Denna identifierare kallas en hash. Visa nu den senaste commiten:

Den senaste commiten

Här är dess hash:

1b00736255dca7d78659a9971d0c30fba0eb3075

Note
Observera

Du kommer att ha en annan hash för denna commit av den anledning som förklaras nedan.

Commit-hashen beräknas med hjälp av SHA-1-algoritmen baserat på följande information:

  • Commit-meddelande;
  • Datum;
  • Författare;
  • Ögonblicksbild av arbetskatalogen;
  • Hash för föregående commit (eller commits om det finns fler än en föregångare).

Om commiten är den första i arkivet beräknas uppenbarligen inte hash för föregående commit.

Eftersom all denna commit-information används för att beräkna dess hash, säkerställer användningen av hashvärden som commit-ID:n konsekvensen i arkivet. Dessutom är sannolikheten för att två olika commits får samma hash (sannolikheten för en kollision) extremt låg, så det är mycket osannolikt att det sker av en slump.

I princip, om något ändras i commiten, ändras dess hash också. Detta innebär att om data skulle bli korrupt av någon anledning, kan Git använda hashen för att identifiera detta.

Note
Notera

När en commit ändras, ändras commit-ID:t, vilket är anledningen till att det är bättre att inte använda kommandot git commit --amend när du arbetar med fjärrarkiv.

Exempelarbetsflöde

Innan du bestämmer vilken commit som ska återställas, visa de fyra senaste commiten:

De fyra senaste commitarna

Det finns en commit där filen recipe.txt lades till. Återställ denna commit för att skapa en ny commit som upphäver dessa ändringar och effektivt tar bort filen. I detta exempel är commit-hashen:

043b634d76a7a7744757350512b6367417c29e0

Din commit-hash kommer att vara annorlunda. Nu ska du återställa denna commit:

Byt ut denna hash mot din egen hash.

Git revert

Återigen öppnas standardtextredigeraren med standardmeddelandet för återställning. Lämna meddelandet oförändrat.

Standardmeddelande för återställnings-commit

Stäng sedan textredigeraren korrekt och visa ändringarna som gjordes i den senaste committen:

Den senaste committen

7 borttagningar har skett, vilket innebär att alla sju rader i filen togs bort. Verifiera nu att själva filen togs bort genom att lista alla icke-dolda filer och kataloger i projektkatalogen:

Listar filer och kataloger

recipe.txt-filen har tagits bort framgångsrikt.

question-icon

Matcha åtgärderna med respektive kommando.


Revert the latest commit:

Revert a specific commit:

Unstage changes:

Revert unstaged changes:

Unstage changes and then revert the changes in the working directory:

Overwrite the existing commit:

Click or drag`n`drop items and fill in the blanks

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 5
some-alt