-- before proceeding be sure working area is clean
git status
-- eliminate commit and throw away all changes
git reset --hard HEAD~1
-- or if you want to reuse your changes
-- eliminate commit but keep changes at working area
git reset --soft HEAD~1
Em algumas situações acabamos por introduzir um commit indesejado numa branch. Então o que fazer?
Fácil, o RESET está aí pra isso mesmo.
Usando a opção –hard estamos indicando que as alterações desfeitas sejam jogadas fora, ou seja, você usa esta opção quando desistiu mesmo e quer recomeçar o trabalho do zero.
Já a opção –soft estamos indicando que as alterações desfeitas permaneçam nos arquivos da working area para que você possa ainda utilizá-los antes de um novo commit.
Vale lembrar que estamos sacando fora commits do topo da pilha. Na verdade podemos sacar vários commits de uma só vez mas sempre será a partir do topo e em sequência.
-- eliminate the top 5 commits in the stack at once
git reset --hard HEAD~5
Para sacar mais de um commit por vez basta ajustarmos o HEAD~{n} onde n é a quantidade de commits a serem removidos.
É isso, mais fácil que cortar manteiga quente!