Git Revert

1 min

Índice

  1. O que é Revert?
  2. Revert vs Reset
  3. Prática imediata
  4. Casos de uso

1. O que é Revert?

Git revert = anular UM commit criando um NOVO commit inverso.

Conceito-chave:

  • NÃO apaga o histórico
  • Cria um commit que « desfaz » as alterações
  • Seguro para o trabalho em equipa

Analogia: é como dizer « Oops, retiro o que disse » em público.

Voltar ao índice

2. Revert vs Reset

Aspetogit revertgit reset
HistóricoConservadoModificado/Apagado
SegurançaSeguro em equipaPerigoso se partilhado
MétodoNovo commit inversoRecua no tempo
RastreabilidadeVisível que foi anuladoComo se nunca tivesse existido

Regra simples:

  • Commit já partilhado → revert
  • Commit ainda local → reset

Voltar ao índice

3. Prática imediata

bash
mkdir demo-revert && cd demo-revert
git init

echo "print('Version 1')" > app.py
git add . && git commit -m "Version 1"

echo "print('Version 2 - Bug!')" > app.py
git add . && git commit -m "Version 2 avec bug"

echo "print('Version 3')" > app.py  
git add . && git commit -m "Version 3"

# Oops! A versão 2 tinha um bug
git log --oneline              # Ver o histórico
git revert <hash-version-2>    # Anular SÓ a versão 2

# Resultado: a Versão 3 fica, mas o bug da v2 é anulado!
cat app.py                     # Verificar o conteúdo

Voltar ao índice

4. Casos de uso

Situações típicas:

  1. Bug em produção:

    bash
    git revert <commit-buggy>    # Anulação limpa
    git push origin main         # Correção imediata
  2. A feature causa problemas:

    bash
    git revert <commit-feature>  # Retirar a feature
    # Guardar o histórico para mais tarde
  3. Anular vários commits:

    bash
    git revert <commit1> <commit2> <commit3>
    # Ou de uma vez:
    git revert <oldest-commit>..<newest-commit>

Revert = a sua rede de segurança quando tudo corre mal!

Voltar ao índice