← Git: decisões e recuperação em equipa
04 / 12 · 18 MIN

Reverter alterações e preservar trabalho

Escolhe uma recuperação adequada ao que foi guardado e partilhado.

Conceito e mecanismo

Revert cria uma nova alteração que contraria os efeitos de um commit escolhido. É útil quando a história já é partilhada e precisa de permanecer rastreável. Não significa apagar a ocorrência anterior nem garantir que todo o ambiente regressa ao estado anterior. Restore atua sobre caminhos no index ou working tree conforme as opções. Reset pode mover referências e, com certas opções, substituir index e ficheiros. A pergunta inicial deve ser: o que quero mudar, o que já foi guardado e quem depende desta história?

Aplicação guiada

Num cenário de release, identifica o commit associado ao artefacto e as alterações posteriores que precisam de permanecer. Prepara a reversão numa branch, analisa conflitos e verifica a aplicação contra o estado atual dos dados. Se houve exposição de uma credencial, retirar o ficheiro do commit atual não revoga a credencial nem elimina todas as cópias históricas. Contém a exposição, roda o segredo segundo o processo aplicável e coordena eventual limpeza da história. Não assumes que um comando de Git executa estas ações externas.

NA PRÁTICA

Uma correção publicada quebrou o parser, mas outra correção posterior é necessária. Um revert dirigido pode preservar a história e o trabalho posterior, sujeito a compatibilidade e conflitos.

Armadilhas comuns

Usar reset --hard como primeira resposta; confundir reversão de código com reversão de dados ou revogação de segredos.

Tópicos relacionados: Diagnóstico e rastreabilidade de releases · Working tree, index e commit

Leva esta ideia contigo

Recupera o estado necessário sem assumir que Git controla todos os efeitos da release.

Criar conta

Referência: Git: reversing existing commits · Git 2.56; workflow concepts compatible with modern Git 2.x