Skip to content

Instantly share code, notes, and snippets.

@lbrealdev
Forked from davidalves1/desfazendo-push.md
Created March 30, 2020 09:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lbrealdev/9bd088da9f28211b53bffaeb2594b78f to your computer and use it in GitHub Desktop.
Save lbrealdev/9bd088da9f28211b53bffaeb2594b78f 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