Konfigurera ett testgitförvar:
I det här avsnittet ska jag klona en av mina GitHub-förråd på min dator för att ställa in ett testförvar för den här artikeln. Om du vill följa med kan du också göra det. Om du har ditt eget Git-arkiv att arbeta med, då bra! Du kan också använda den.
Att klona ett av mitt GitHub-arkiv (https: // github.com / dev-shovon / my-project), kör följande kommando:
$ git-klon https: // github.com / dev-shovon / my-project undo_commit_demo
GitHub-förvaret bör klonas in i ångra_commit_demo / katalog.
Navigera nu till ångra_commit_demo / katalog enligt följande:
Åtagandet du vill ångra kan vara i en annan gren som min. Jag vill ångra det sista åtagandet från ie-fix gren. Så jag måste dra i grenen ie-fix från mitt GitHub-arkiv.
Du kan dra i ie-fix gren från GitHub enligt följande:
$ git pull origin ie-fixNOTERA: Här, ie-fix är filialnamnet.
De ie-fix gren ska dras.
Kassa nu till filialen (i mitt fall, ie-fix) från vilken du vill ångra det senaste åtagandet enligt följande:
$ git checkout ie-fix
Som du kan se, den sista förpliktelsen för ie-fix gren är aec00f3. I nästa avsnitt kommer jag att visa dig sätt att ångra det senaste åtagandet på ditt Git-arkiv.
Ångra senaste åtagande och behålla ändringar:
Ett sätt att ångra det senaste åtagandet är att använda soft reset på ditt Git-arkiv. Vad detta gör är att det senaste engagemanget tas bort och de ändringar du har gjort i det åtagandet läggs till i iscenesättningsområdet i ditt Git-arkiv. På det här sättet, om du vill fixa något, kan du ändra filerna och lägga till ett nytt engagemang.
Som du kan se, det senaste åtagandet i min ie-fix gren är aec00f3.
$ git log - online
Mitt iscenesättningsområde är också rent.
$ git-status
För att ta bort eller ångra det senaste åtagandet, kör följande kommando:
$ git reset - soft HEAD ~ 1
Som du kan se, åtagandet aec00f3 är borta.
$ git log - online
Den fil som jag ändrade i den senaste förpliktelsen ligger också i mitt iscenesättningsområde.
$ git-status
Nu kan du ytterligare modifiera filerna, fixa de misstag du har gjort och begå ändringarna igen.
Ångra senaste åtagande och ta bort ändringar:
Om det senaste åtagandet som du vill ta bort är värdelöst för dig, kan du överväga en hård återställning i ditt Git-arkiv. Vad hård återställning gör är att det tar bort det senaste åtagandet som tidigare. Men det tar också bort alla ändringar du har gjort under det senaste åtagandet. Gör en hård återställning bara när du är säker på att du inte längre behöver någonting av det senaste åtagandet.
Jag ska dra ie-fix gren från mitt GitHub-arkiv igen för att återställa det senaste åtagandet aec00f3 och ta bort den igen i det här avsnittet.
$ git pull origin ie-fix
Som du kan se är det sista åtagandet tillbaka. Om ditt Git-arkiv laddas upp till en Git-molntjänst som GitHub kan du också återställa alla åtaganden som du tar bort felaktigt.
Som du kan se är mitt iscensättningsområde rent.
$ git-status
För att ta bort det senaste åtagandet och ta bort ändringarna i det åtagandet, kör följande kommando:
$ git reset - hård HEAD ~ 1
Det senaste åtagandet bör tas bort och HUVUD pekaren bör uppdateras.
Som du kan se, åtagandet aec00f3 tas bort och åtagandet omedelbart före det (3fffdee) är det senaste det senaste åtagandet.
$ git log - online
Iscenesättningsområdet är också rent. Så det finns ändringsfiler från det borttagna åtagandet.
$ git-status
Uppdaterar Remote Git Repository:
Nu när du har tagit bort det felaktiga åtagandet från ditt Git-arkiv kanske du också vill uppdatera ditt GitHub-arkiv. Detta är ämnet i detta avsnitt.
Som du kan se, git-status visar också att jag befinner mig 1 bakom från fjärrförvaret.
Innan jag uppdaterade mitt GitHub-arkiv, gjorde jag det aec00f3 existerar även om jag tog bort det från det lokala Git-arkivet som du kan se.
För att synkronisera det lokala Git-arkivet med GitHub-arkivet, kör du följande kommando:
$ git push - force origin ie-fixÄndringarna i det lokala Git-förvaret ska synkroniseras med GitHub-förvaret.
GitHub-förvaret bör uppdateras. Som du kan se, åtagandet aec00f3 är inte längre listad. Åtagandet omedelbart innan aec00f3, vilket är 3fffdee är nu det sista åtagandet.
Så det är så du ångrar den senaste åtagandet i Git. Tack för att du läste den här artikeln.