Sobre a prova - questão difícil sobre GIT

Por isso ambos atendem a necessidade, conforme o contexto. A rigor, nenhum deles “desfaz” um commit, porque não existe “ctrl+z” para commits. Temos opções disponíveis para o caso de voltar a um commit antigo, ou arrependimento de commit:

  • apagar commits em ordem decrescente até um commit escolhido;
  • gerar novo commit espelhando o estado do commit escolhido.

Exemplo de cenário muito comum em que o uso do “RESET” é útil:
Está trabalhando em seu repositório local e fez um commit acidental com informações que você não queria registradas, como ter percebido que no último commit foram incluídos dados sensíveis. RESET remove o(s) commit(s) (dependendo da demanda até com uso do --hard) até o ponto anterior ao problema e o resolve.

Exemplo de cenário em que o uso do revert é útil:
Está trabalhando em repositório remoto, ou já foram feitos commits seguintes que se quer manter. REVERT cria um novo commit na ponta refletindo o estado do commit informado.

Por isso é preciso especificar o cenário e definir bem a questão. O Git possui uma vasta documentação e algumas ações podem ser feitas não de uma única maneira… Como a troca de branch. :zipper_mouth_face:

4 Likes

Neste link explica como voltar para uma versão anterior do seu código, está na parte em que o vídeo já tem 23 minutos. Veja se é sobre isso.

1 Like

Tive a mesma impressão, e tb errei quando marquei.

1 Like

Também errei essa questão justamente por isso, no enunciado fala sobre ‘desfazer’ um commit. Nesse caso, ao meu ver, apagar um commit (git reset), tem mais semelhança com a ação de desfazer, que a outra opção que foi dita como correta, que cria um novo commit revertendo as informações do commit apontado.

1 Like