Comment by Nimitz14

7 years ago

I'd say it changes your code to match that of a branch in your local copy of the repo.

It resets the file x/y, or checks out branch y of remote x, or checks out local branch x/y. I've had confused users manage to create al of these cases, and git is very unhelpful in explaining the difference between the three cases.