Nastavení testovacího úložiště Git:
V této části se chystám naklonovat jedno ze svých úložišť GitHub na svém počítači a nastavit testovací úložiště pro tento článek. Pokud budete chtít pokračovat, můžete tak učinit také. Pokud máte vlastní úložiště Git, se kterým můžete pracovat, pak skvělé! Můžete jej také použít.
Klonování jednoho z mých úložišť GitHub (https: // github.com / dev-shovon / my-project), spusťte následující příkaz:
$ git clone https: // github.com / dev-shovon / my-project undo_commit_demo
Repozitář GitHub by měl být klonován undo_commit_demo / adresář.
Nyní přejděte na undo_commit_demo / adresář takto:
Potvrzení, které chcete vrátit zpět, může být v jiné větvi jako moje. Chci vrátit poslední spáchání ie-fix větev. Takže musím zatáhnout větev ie-fix z mého úložiště GitHub.
Můžete vytáhnout ie-fix větev z GitHub takto:
$ git pull origin ie-fixPOZNÁMKA: Tady, ie-fix je název pobočky.
The ie-fix větev by měla být zatažena.
Nyní, pokladna na pobočce (v mém případě, ie-fix) ze kterého chcete vrátit poslední potvrzení takto:
$ git checkout ie-fix
Jak vidíte, poslední odevzdání ie-fix pobočka je aec00f3. V následujících částech vám ukážu způsoby, jak zrušit poslední potvrzení ve vašem úložišti Git.
Vrátit zpět poslední potvrzení a ponechat změny:
Jedním ze způsobů, jak vrátit poslední potvrzení, je použít soft reset ve vašem úložišti Git. Co to je, je poslední potvrzení odebráno a změny, které jste v tomto potvrzení provedli, jsou přidány do pracovní oblasti vašeho úložiště Git. Tímto způsobem, pokud chcete cokoli opravit, můžete upravit soubory a přidat nové potvrzení.
Jak vidíte, poslední potvrzení v mém ie-fix pobočka je aec00f3.
$ git log - online
Moje pracovní oblast je také čistá.
stav $ git
Nyní, chcete-li odebrat nebo vrátit zpět poslední potvrzení, spusťte následující příkaz:
$ git reset --soft HEAD ~ 1
Jak vidíte, potvrzení aec00f3 je pryč.
$ git log - online
Také soubor, který jsem upravil při posledním odevzdání, je v mé pracovní oblasti.
stav $ git
Nyní můžete soubory dále upravovat, opravit chyby, které jste udělali, a provést změny znovu.
Vrátit zpět poslední potvrzení a odebrat změny:
Pokud je pro vás poslední potvrzení, které chcete odebrat, zbytečné, můžete ve svém úložišti Git zvážit tvrdý reset. Co tvrdý reset dělá, je, že odstraní poslední potvrzení jako dříve. Ale také odstraní všechny změny, které jste provedli při posledním potvrzení. Proveďte tvrdý reset, pouze pokud jste si jisti, že již nepotřebujete nic z posledního potvrzení.
Chystám se vytáhnout ie-fix větev z mého úložiště GitHub znovu obnovit poslední potvrzení aec00f3 a v této části jej znovu odeberte.
$ git pull origin ie-fix
Jak vidíte, poslední odevzdání je zpět. Pokud je vaše úložiště Git nahráno do cloudové služby Git, jako je GitHub, můžete také obnovit jakékoli potvrzení, které omylem odeberete.
Jak vidíte, moje pracovní oblast je čistá.
stav $ git
Nyní, chcete-li odebrat poslední potvrzení a odebrat změny v tomto potvrzení, spusťte následující příkaz:
$ git reset --hard HEAD ~ 1
Poslední potvrzení by mělo být odstraněno a HLAVA ukazatel by měl být aktualizován.
Jak vidíte, potvrzení aec00f3 je odstraněn a potvrzení bezprostředně před tím (3fffdee) je aktuální poslední potvrzení.
$ git log - online
Pracovní plocha je také čistá. Existují tedy soubory změn z odebraného potvrzení.
stav $ git
Aktualizace vzdáleného úložiště Git:
Nyní, když jste úspěšně odstranili chybné potvrzení ze svého úložiště Git, možná budete chtít také aktualizovat své úložiště GitHub. Toto je téma této části.
Jak můžete vidět, stav git také ukazuje, že jsem 1 zavázat se ze vzdáleného úložiště.
Než jsem aktualizoval své úložiště GitHub, potvrzení aec00f3 existuje, i když jsem ji odstranil z místního úložiště Git, jak vidíte.
Chcete-li synchronizovat místní úložiště Git s úložištěm GitHub, spusťte následující příkaz:
$ git push --force origin ie-fixZměny místního úložiště Git by měly být synchronizovány s úložištěm GitHub.
Úložiště GitHub by mělo být aktualizováno. Jak vidíte, potvrzení aec00f3 již není uveden. Potvrzení bezprostředně před aec00f3, který je 3fffdee je nyní poslední potvrzení.
Takto tedy vrátíte poslední revizi v Gitu. Děkujeme za přečtení tohoto článku.