It is a good idea to do a git reset --hard
as you have been doing.
If the local changes are not affected by the checkout then it does not matter, they will just "ride along with you".
However if your local changes would be overwritten by a checkout it will create an error
$ git bisect good Bisecting: 2 revisions left to test after this (roughly 1 step) error: Your local changes to the following files would be overwritten by checkout: README Please, commit your changes or stash them before you can switch branches. Aborting