Skip to content

Instantly share code, notes, and snippets.

@leonirlopes
Forked from davidalves1/desfazendo-push.md
Created December 27, 2017 17:10
Show Gist options
  • Save leonirlopes/58fbd358d03cc398ebfd4044a6f04abf to your computer and use it in GitHub Desktop.
Save leonirlopes/58fbd358d03cc398ebfd4044a6f04abf to your computer and use it in GitHub Desktop.
Desfazendo um git push

Desfazendo um git push

Não é possível desfazer um push diretamente, como é feito com o commit utilizando o comando $ git reset --soft|mixed|hard hash-do-penultimo-commit

Para desfazer um push são necessários 3 passos:

  1. Utilizar o comando $ git reset --mixed hash-do-penultimo-commit e em seguida utilizar o comando $ git stash
  2. Utilizar o comando $ git revert hash-do-ultimo-commit
  3. Utilizar o comando $ git stash apply

Explicação

No passo 1, estamos recuperando os arquivos enviados com o git reset e criando um 'ponto de restauração' com o git stash para não perdermos as modificações enviadas.
No passo 2, criamos um novo commit revertendo o commit anterior, apagando as modificações realizadas.
No passo 3, utilizamos o 'ponto de restauração' criado no passo 1 para recuperar as modificações realizadas antes do push.

Observação

Para verificar os logs do commit podemos utilizar o comando $ git log --stat que mostra o hash, a descrição e os arquivos modificados nos commits.

Pronto!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment