2
respostas

Reversão de commit

Minha dúvida é a seguinte.

Realizei um commit agora de um arquivo. Em seguida realizei novos commits, porém de outros arquivos. Preciso que o primeiro commit seja desfeito, então irei executar o comando: git revert "id_commit".

Os commits posteriores a este também serão revertidos, ou serão mantidos?

2 respostas

Fiz o teste.

Inclui um novo parágrafo no index.html e realizei o commit. Em seguida, fiz um novo commit, alterando o range de 100 números disponíveis para 50 números. Isto tanto no index.html quanto no app.js.

Ao realizar o git revert do primeiro commit, o git gerou um conflito no arquivo html, pois a versão a ser revertida não possuia a alteração do tamanho do range de números disponíveis.

Nisso, tive que mergear a versão do index.html que não possuia o novo parágrafo, onde o range era de 100, com a versão cujo range era 50. No final das contas, ficou o range novo e o parágrafo do primeiro commit já não existia mais, pois era justamente o que precisava ser revertido.

Em resumo, caso você esteja fazendo um revert de um arquivo que sofreu modificações conseguintes, será necessário resolver conflitos, quanto aos demais arquivos que não contém alterações do commit a ser revertido, nada sofrerão.

Olá, Gustavo! Tudo bem?

Obrigado por compartilhar sua dúvida e teste realizado, isso ajuda muito no aprendizado! Sobre o git revert, você está correto: ele cria um novo commit que "desfaz" as alterações do commit especificado. Agora, respondendo diretamente sua dúvida:

  • Os commits posteriores serão mantidos. O git revert age apenas no commit que você especificou, mas, como você mencionou, se o arquivo afetado pelo commit revertido também foi modificado em commits posteriores, podem surgir conflitos que precisarão ser resolvidos.

No seu caso, isso aconteceu porque o arquivo index.html sofreu alterações em commits seguintes ao primeiro. Por isso, o Git pediu para você resolver o conflito ao aplicar o revert.

Obrigada por compartilhar.

Um abraço.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓

bons estudos