Professores está certo, está explicação.
- O que é git reset? 
 É um comando que move o ponteiro HEAD para um commit anterior e altera o estado do repositório conforme a opção utilizada:
 Tutorials Point (https://www.tutorialspoint.com/git/git-reset.htm?utm_source=chatgpt.com)
 Git (https://git-scm.com/docs/git-reset?utm_source=chatgpt.com)
- Modos de operação do git reset 
| Modo | O que faz | Mantém ou apaga alterações | 
|---|---|---|
| --soft | Move o HEAD, mantém índice e árvore de trabalho | mantém alterações não commitadas | 
| --mixed(padrão) | Desfaz o staging, mantém mudanças locais | desfaz staging, mas não altera a árvore de trabalho | 
| --hard | Reseta HEAD, índice e código | apaga todas as mudanças desde o commit alvo | 
| --merge | Reseta, mas preserva mudanças não conflitantes | útil após git pullcom conflitos | 
| --keep | Reseta, não sobrescreve mudanças locais não conflitantes | mais seguro que --hardem alguns cenários | 
 
            