GIT: Como voltar commits de forma segura e eficaz

Para voltar o versionamento para um commit anterior no Git, existem algumas abordagens que você pode seguir, dependendo da situação. Vou descrever dois métodos principais: usando o git reset e o git revert.

1. Usando git reset:

Este método reescreve o histórico do Git, portanto, tenha cuidado ao usá-lo, especialmente em repositórios compartilhados, pois ele pode causar problemas para outras pessoas.

# Volte para o commit desejado, descartando todos os commits posteriores

$ git reset --hard <hash_do_commit>

Substitua <hash_do_commit> pelo hash (SHA-1) do commit para o qual você deseja voltar. Isso descartará todos os commits posteriores e o HEAD do seu repositório apontará para o commit especificado.

2. Usando git revert:

Este método é mais seguro e é preferível em repositórios compartilhados, pois cria um novo commit que desfaz as alterações introduzidas pelo commit anterior. Isso não reescreve o histórico, apenas adiciona um novo commit.

# Crie um novo commit que desfaz as alterações do commit especificado

$ git revert <hash_do_commit>

Substitua <hash_do_commit> pelo hash do commit que você deseja desfazer. O Git criará um novo commit que desfaz as alterações introduzidas pelo commit especificado.

Lembre-se de que, ao usar qualquer um desses métodos, é sempre uma boa prática criar um backup ou cópia do seu repositório antes de realizar alterações significativas no histórico. Isso ajuda a evitar a perda acidental de dados.