Git

Hur återgår jag till ett tidigare åtagande i Git?

Hur återgår jag till ett tidigare åtagande i Git?
Kommandot "git revert" utför en otroligt användbar operation i Git-miljön. Ibland vill du ångra ändringarna som du en gång har begått utan att verkligen ta bort dessa ändringar från "git log" så att du alltid kan göra om dem i framtiden när du vill. Kommandot "git revert" låter dig exakt göra det. Det betyder att du enkelt kan ogiltigförklara eller avbryta effekten av något tidigare åtagande utan att verkligen ta bort det från din Git-historik. Därför är den här artikeln avsedd att lära dig metoden att återgå till ett tidigare åtagande i Git i Ubuntu 20.04.

Metod för att återgå till ett tidigare åtagande i Git i Ubuntu 20.04:

För att förklara för dig metoden att återgå till ett tidigare åtagande i Git i Ubuntu 20.04, vi har utformat ett exempelscenario. I det här scenariot kommer vi först att ändra en redan befintlig fil med namnet abc.Text. Vi har också två andra filer i vårt testprojektförvar med namnet Stash1.txt och Stash2.txt som vi inte hade begått tidigare. Så vi kommer att göra alla dessa ändringar på en gång. Då försöker vi återgå till ett tidigare tillstånd i.e. ett tillstånd där varken filerna Stash1.txt och Stash2.txt existerade eller filen abc.txt modifierades. För att vidareutveckla detta scenario vill vi gå igenom följande steg:

Steg 1: Byt till din Git Project Directory:

Först går vi till katalogen där vårt Git-projektförvar finns på det sätt som visas nedan:

cd / home / kbuzdar / simplegit-progit

När detta kommando körs kommer det att ändra standardvägen för din terminal som visas i följande bild:

Steg 2: Lista ner innehållet i din Git Project Directory:

Nu listar vi innehållet i vårt testprojektförvar för att se vilka filer som redan finns. Innehållet i vårt Git-projektförvar kan listas med kommandot nedan:

ls

Innehållet i vårt Git-projektförvar visas i följande bild:

Steg 3: Öppna och ändra alla filer i din Git Project-katalog:

Vi har valt filen abc.txt från vårt Git-projektförvar för modifiering. Nu öppnar vi den här filen med nano-redigeraren på det sätt som visas nedan:

sudo nano abc.Text

Den här filen har en slumpmässig text skriven i den som visas i följande bild:

Vi kommer att ändra denna text genom att lägga till ett "inte" i det som visas i bilden nedan. Efter att ha gjort denna modifiering kommer vi helt enkelt att lämna nano-redigeraren medan vi sparar vår fil abc.Text.

Steg 4: Återinitialisera ditt Git Project-arkiv:

Efter att ha gjort alla önskade ändringar måste vi återinitialisera vårt Git-projektförvar med hjälp av följande kommando:

git init

Efter att ha utfört detta kommando kommer Git att återinitialisera medan meddelandet som visas i bilden nedan på din terminal visas:

Steg # 5: Lägg till ändringarna i ditt Git Project Repository:

Nu måste vi lägga till ändringarna i vårt Git-projektförvar genom att utföra följande kommando:

git add.

Det framgångsrika utförandet av detta kommando kommer inte att visa något på vår Ubuntu 20.04 terminal.

Steg 6: Genomför de nyligen gjorda ändringarna i ditt Git Project-arkiv:

Efter att ha lagt till ändringarna i vårt Git-projektförvar kommer vi att göra dessa ändringar med följande kommando:

git commit -m “Meddelande som ska visas”

Här kan du ändra "Meddelande som ska visas" med det faktiska meddelande som du vill ska visas medan detta kommando körs.

När det här kommandot körs kommer du att märka att våra två filer som inte var förbundna tidigare i.e. Stash1.txt och Stash2.txt kommer att göras.

Steg 7: Kontrollera Git Commit History:

Nu ska vi kontrollera Git-engagemangshistoriken för att se om vårt senaste engagemang har loggats eller inte. Git-engagemangshistoriken kan kontrolleras med följande kommando:

git log --pretty = oneline

Du kan enkelt se från Git-engagemangshistoriken som visas i bilden nedan att huvudet pekar på vårt senaste engagemang i.e. transaktionen där vi begick filerna Stash1.txt, Stash2.txt och abc.txt (efter modifiering). Vi kommer också att notera transaktions-ID för detta åtagande från åtagandeshistoriken så att vi kan återställa det i nästa steg medan vi använder detta ID.

Steg 8: Utför operationen "git revert":

De första fem tecknen i transaktions-ID för vår senaste transaktion är 220ac. Dessa tecken kommer att användas för att hänvisa till detta åtagande. Nu kommer vi att återställa detta åtagande med hjälp av följande kommando:

git revert 220ac

När det här kommandot körs kommer det att visas ett meddelande i nano-editor om att din transaktion med transaktions-ID 220ac kommer att återställas som visas i bilden nedan:

Du måste trycka på Ctrl + X efter att ha sett detta meddelande så att du kan se den exakta statusen på din terminal som visas i följande bild. Denna status kommer att berätta för oss att de ändringar som gjordes tidigare i.e. modifiering av abc.txt och tillägget av Stash1.txt och Stash2.txt har återställts. Det betyder också att nu vår fil abc.txt kommer tillbaka i det tidigare tillståndet i.e. det kommer att representera sitt ursprungliga innehåll utan modifiering. Dessutom är filerna Stash1.txt och Stash2.txt har raderats.

Steg 9: Kontrollera Git Commit History igen:

Nu kommer vi att kontrollera vår Git-engagemangshistoria igen för att se den aktuella situationen. Om återställningsåtgärden har genomförts framgångsrikt kommer chefen för vårt projekt att peka på denna återställningstransaktion som markeras i bilden nedan:

Steg # 10: Kontrollera om kommandot "git revert" har fungerat framgångsrikt eller inte:

Även om vi redan har sett att vårt projektchef för närvarande pekar på återföringstransaktionen vilket är tillräckligt för att indikera att kommandot "git revert" har fungerat korrekt. Vi kan dock fortfarande säkerställa det genom att kontrollera Git-statusen. Här kommer vi att kunna se att det inte kommer att finnas fler filer att begå som de som var där tidigare jag.e. Stash1 och Stash2 har redan raderats av återställningsfunktionen. Därför kommer det inte att finnas fler nya filer som ska göras som visas i följande bild:

Vi kan också försöka lista ner innehållet i vårt Git-projektförvar för att bekräfta borttagningen av filerna Stash1.txt och Stash2.txt som visas i bilden nedan. En punkt att notera här är att filerna Stash1.txt och Stash2.txt har raderats av vår återställningsoperation enbart för att det inte fanns några av dessa två filer innan transaktionen genomfördes med transaktions-ID på 220ac. Det är därför, som ett resultat av att ångra detta åtagande, kommer dessa filer inte att finnas längre. Men om du kommer att utföra återställningsåtgärden igen på denna återställningstransaktion i.e. du kommer att försöka upphäva effekten av den återställning du just har utfört, då kommer du att kunna se dessa två filer igen.

Slutligen kan vi också kontrollera vår fil abc.txt igen för att se om den är tillbaka med sitt ursprungliga innehåll eller inte. Vi öppnar helt enkelt den här filen igen med nano-redigeraren och du kommer att märka från följande bild att ändringen som vi gjorde tidigare i den här filen har återställts.

Slutsats:

Genom att gå igenom det detaljerade scenariot som presenteras för dig i den här artikeln kommer du förhoppningsvis att kunna använda kommandot "git revert" i Ubuntu 20.04 på ett mycket effektivt sätt. Detta kommando kommer att avbryta effekten av tidigare transaktioner samtidigt som den bibehålls i "git log" så att du när som helst kan gå tillbaka till den transaktionen. Med andra ord kan vi säga att kommandot "git revert" begår en transaktion som är exakt invers av ett kommando som tidigare begåtts (utan att radera det tidigare kommittén). Det är precis därför det lyckas avbryta effekten.

Shadow of the Tomb Raider for Linux Tutorial
Shadow of the Tomb Raider är det tolfte tillskottet till Tomb Raider-serien - en action-äventyrsspelfranchise skapad av Eidos Montreal. Spelet mottogs...
Hur man förbättrar FPS i Linux?
FPS står för Bildrutor per sekund. FPS: s uppgift är att mäta bildfrekvensen i videouppspelningar eller spelprestanda. Med enkla ord betecknas antalet...
De bästa Oculus App Lab-spelen
Om du är Oculus-headsetägare måste du vara förtjust i sidoladdning. Sideladdning är processen för att installera icke-butiksinnehåll på ditt headset. ...