A simple git checkout old-sha1
can be a start, but the real command for that kind of task is:
Find by binary search the change that introduced a bug
If you have a script able to test if your working tree "works" or not, you can execute that script on previous commits through git bisect
, locating the first commit which breaks your test.
Note that this command isn't yet supported directly by GitHub for Windows: you will have to open a shell.
A git checkout
would leave you in a detached HEAD, which doesn't matter since you won't make any modification.
To get back to were you were, checkout a branch:
git checkout master
See "Why did git detach my head?".