A nice summary on the differences between git revert, git reset, and git checkout by https://git-scm.com/docs/git-revert:
git revert is used to record some new commits to reverse the effect of some earlier commits (often only a faulty one). If you want to throw away all uncommitted changes in your working directory, you should see git-reset, particularly the –hard option. If you want to extract specific files as they were in another commit, you should see git-checkout, specifically the git checkout — syntax. Take care with these alternatives as both will discard uncommitted changes in your working directory.
And an article by Atlassian: https://www.atlassian.com/git/tutorials/resetting-checking-out-and-reverting