What's the difference between Git Revert, Checkout and Reset?
I am trying to learn how to restore or rollback files and projects to a prior state, and don't understand the difference between git revert , checkout , and reset . Why are there 3 different commands for seemingly the same purpose, and when should someone choose one over the other? These three commands have entirely different purposes. They are not even remotely similar. git revert This command creates a new commit that undoes the changes from a previous commit. This command adds new history to the project (it doesn't modify existing history). git checkout This command checks-out content from