Git saves your work in 'snapshots' of the state of your working directory in a given point in time, these saves are called "commits"
To see all the commits you have made you can open git shell in a repository and write:
$ git log
what you'll see is the unique SHA-1 hash of every commit and some information regarding it (who made it, time, title, message, etc.). These commits are specific to the branch you currently have checked (unless you have merged this branch with another one).
To answer you question about how to 'undo a change' (or more correctly: how to return you workspace to the state of a previous commit) you first have to find out the SHA-1 hash of the commit you want to return to (it's not necessary to put the whole hash, with the first 6 characters you are ok).
So, let's say I want to return to a commit with hash: 49c005 . What I have to do is write in the git shell this command:
$ git reset --hard (hash code; in my case 49c005)
there are also other ways to use the "reset" command in git, but this is the one I have found easier.
If you need further reference you can always check out the git reset documentation