- O comando git reset, como o próprio nome diz, reseta o repositório para o estado do último commit, ou outro commit. Ou seja, com ele podemos desfazer commits.
OBS: O reset apaga o histórico de commits até o hash especificado.
- Exemplo prático: https://www.youtube.com/watch?v=7V2fQBLLVts
git reset (Hash do commit)
- Pode acontecer o caso de você precisar desfazer um commit que não é o commit mais recente e sim um mais antigo. Nesse caso, fazer um reset até o commit irá apagar também todos os commits na frente dele. Para resolver isso temos o git revert.
- O revert cria um novo commit que faz o reverso do commit especificado. Ou seja, se o commit adicionou um arquivo, o revert remove, se editou uma linha, volta ao que era antes.
OBS: O revert irá voltar para uma versão anterior do hash especificado.
- Exemplo prático: https://www.youtube.com/watch?v=6FS0I4CUbK4
git revert (Hash do commit)
- Com o git rebase também é possível unificar diversos commits em um único commit. Por exemplo: você criou uma branch para si a partir da branch principal, logo, a branch que você criou está atualizada. Mas, houve algum imprevisto e você ficou sem desenvolver por um tempo e, consequentemente, sem atualizar a sua branch. Seu time atualizou a branch principal, logo, quando você for tentar subir as suas alterações para a branch principal, terá conflito. Com esse comando você pode atualizar a sua base resolvendo os conflitos gerados.
- Exemplo prático: https://www.youtube.com/watch?v=M4h5nieYBXQ
git rebase main
- Ao abrir um PR, na seção de commits é possível visualizar o hash dos commits realizados, basta copiar e utilizar para voltar em uma determinada versão do seu código. Segue a ilustração abaixo: