No enunciado está escrito: " histórico de commits do repositório ". Fiquei com dúvida na resposta correta, pois pelo o que entendi (posso ter entendido errado) o git reset irá excluir os comites posteriores ao desejado, deixando o repositório LOCAL apontando para o target especificado. Enquanto isso o git revert, não irá apagar os commits posteriores ao target, mas sim fará um novo commit no repositório REMOTO, e não no local.
Em resumo, o git reset seria utilizado para commits locais, ainda não enviados, enquanto o git revert seria utilizado para re-commitar uma versão no diretório remoto.
Agora a minha dúvida é se eu entendi errado e o git reset pode também ser usado para repositórios remotos compartilhados?
EDIT: Ambos comandos podem ser utilizados para alterar commits no repositório remoto. Em resumo, o reset irá apagar o histórico dos commits posteriores ao target no comando, enquanto o revert irá manter o histórico dos commits, irá "re-criar" um commit com as informações do commit target do comando, e neste caso vale lembrar que o comando de git push deve ser rodado para poder efetivamente executar o commit (após o revert).