Skip to content

Instantly share code, notes, and snippets.

@thiagoferreiraw
Created September 9, 2021 19:45
Show Gist options
  • Save thiagoferreiraw/62ea640cd854a5a7c604f5efc429ae48 to your computer and use it in GitHub Desktop.
Save thiagoferreiraw/62ea640cd854a5a7c604f5efc429ae48 to your computer and use it in GitHub Desktop.
Git Diff + git apply
# Escolha sua branch de origem, de onde os commits serão revertidos
git checkout main
# Usando o git log, encontre o hash do commit do ponto que você deseja retornar para.
git checkout f21306c
# Agora vamos fazer uma comparação entre a posição atual do histórico e a main.
# Nesse ponto precisamos confirmar se as mudanças exibidas aqui estão corretas ;)
# Se não estiverem, você provavelmente está no ponto errado do histórico (veja o git log)
git diff main
# As mudanças estando corretas, salve as diferenças em um arquivo:
git diff master --full-index > changes.patch
# Agora vamos voltar para a branch main e aplicar as mudanças:
git checkout main
git apply changes.patch
rm changes.patch # apaga o arquivo de patch pra evitar fazer commit dele
# Agora basta criar uma nova branch e fazer o commit
git checkout -b reverted-branch
git add .
git commit -m "Reverted some commits 🙊"
git push origin reverted-branch
# Agora abrimos um pull request/merge request no github/gitlab/bitbucket ou qualquer outro repositório remoto ;)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment