Återställa Ändringar Före Staging
Svep för att visa menyn
Ibland kan du ändra arbetskatalogen men bestämma dig för att kassera dessa ändringar innan de läggs till i staging.
Utforska nu metoder för att återställa ändringar i Git innan de läggs till i staging-området.
Kassera ändringar med git restore
Kommandot git restore är ett mångsidigt verktyg för att kassera ändringar i din arbetskatalog. För att återställa ändringar i modifierade filer innan staging kan du använda detta kommando enligt följande:
git restore <file>
Där <file> är namnet på filerna eller dess sökväg relativt till projektkatalogen. Detta kommando återställer den angivna filen till den version som är staged. Om staging-området är tomt återställs filen till versionen i senaste commit.
Återställ till staged-version
Skapa först en ny fil med namnet recipe.txt som innehåller ett enkelt recept på kokta ägg med hjälp av kommandot echo:
echo "1. Prepare the Eggs
2. Boil Water
3. Place Eggs in the Saucepan
4. Boil the Eggs
5. Reduce Heat
6. Cook for 6-7 minutes" > recipe.txt
Lägg nu till denna fil och ändra den genom att lägga till en rad med nästa steg i receptet:
git add recipe.txt
echo "7. Transfer eggs to ice water or run cold water over them" > recipe.txt
Hoppsan, fel operator användes — > (som skriver över filen) istället för >> (som lägger till en ny rad).
Innan du rättar till det, kontrollera statusen för arbetskatalogen och stagingområdet:
git status
Som du kan se är den ursprungliga versionen av filen staged, så återställ filen till denna version och kontrollera status för arbetskatalogen och staging-området igen:
git restore recipe.txt
git status
Som du kan se är vårt arbetskatalog nu ren, så ändringarna har ångrats och filen har återställts till den staged versionen.
Återgå till den senaste commiten
Börja med att committa skapandet av filen recipe.txt:
git commit -m "Add a file with a simple recipe for boiled eggs"
Commiten lyckades. Lägg nu till ytterligare en rad i filen med nästa steg i receptet och kontrollera statusen för arbetskatalogen:
echo "10. Transfer eggs to ice water or run cold water over them">> recipe.txt
git status
Hoppsan, ett annat misstag inträffade — det tillagda steget ska vara 7, inte 10.
Inga problem; du kan återställa denna ändring till senaste commit.
Kontrollera först den senaste commiten:
git log -n 1
Denna commit är exakt den som behövs, så återställ ändringarna till denna version och kontrollera att arbetskatalogen är ren:
git restore recipe.txt
git status
Arbetskatalogen är ren, vilket innebär att våra ändringar har ångrats och filen har återställts till versionen från den senaste commiten.
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