Contents
git reset
git reset --hard <remote>/<branch>
Resets the working copy to the HEAD of the specified branch and discards all local changes. It's equivalent to a fresh clone, except that you also keep all files and folders which are not part of the working copy. That's why it's useful. A hard reset may also be faster than a fresh clone for a huge project.
Without the --hard, the local changes will be maintained in a way equivalent to the following scenario: (1) fresh clone of the specified branch and revision; (2) pretend that all local changes happened after that.