Å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:
Här är dess hash:
1b00736255dca7d78659a9971d0c30fba0eb3075
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.
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:
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.
Återigen öppnas standardtextredigeraren med standardmeddelandet för återställning. Lämna meddelandet oförändrat.
Stäng sedan textredigeraren korrekt och visa ändringarna som gjordes i 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:
recipe.txt-filen har tagits bort framgångsrikt.
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
Awesome!
Completion rate improved to 3.57
Å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:
Här är dess hash:
1b00736255dca7d78659a9971d0c30fba0eb3075
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.
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:
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.
Återigen öppnas standardtextredigeraren med standardmeddelandet för återställning. Lämna meddelandet oförändrat.
Stäng sedan textredigeraren korrekt och visa ändringarna som gjordes i 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:
recipe.txt-filen har tagits bort framgångsrikt.
Tack för dina kommentarer!