Olá Igor, tudo bem?
Vou tentar resumir cada comando para você:
Resumo comandos git para descartar alterações
Comando | Descrição |
---|
git checkout | Desfaz uma alteração que ainda não foi adicionada, ou seja, antes do git add . De acordo com a documentação, está na versão 2.32.0 e possui diversas outras funcionalidades. |
git reset | Desfaz uma alteração adicionada mas não commitada, ou seja, antes do git commit . De acordo com a documentação, também está na versão 2.32.0 e tem como funcionalidade principal redefir o HEAD. |
git revert | Desfaz uma alteração adicionada e commitada, ou seja, depois do git commit . De acordo com a documentação, também está na versão 2.32.0 e tem como funcionalidade principal reverter commits existentes. |
git restore | Realmente é um comando recente que possui uma função semelhante ao git checkout , mas ele é específico para restaurar arquivos ou projetos por completo, já o git checkout possui outras diversas funcionalidades também. De acordo com a documentação, ele foi criado na versão 2.32.0 e tem como funcionalidade principal restaurar arquivos. |
Espero que esse resuminho te ajude. E realmente todos esses termos podem confundir, fato que explica a criação do comando git restore
. Ele foi criado na versão 2.32.0 com o objetivo de pegar uma responsabilidade do git checkout
, tendo em vista que ele já tinha muitas, além de tornar o novo comando mais específico.
Mas como todos os comando citados estão na última versão, você pode escolher qual utilizar. Pode ser que nas próximas versões isso mude, mas por enquanto pode utilizar o comando que você julgar melhor.
E caso queira ler um pouco mais, aqui na Alura temos um artigo sobre o assunto:
Espero que tenha te ajudado e, qualquer coisa, estamos à disposição!
Bons estudos :)