Good or bad news for you, that hash IS the revision number. I also had trouble with this when I made the switch from SVN to git.
You can use “tagging” in git to tag a certain revision as the “release” for a specific version, making it easy to refer to that revision. Check out this blog post.
The key thing to understand is that git cannot have revision numbers – think about the decentralized nature. If users A and B are both committing to their local repositories, how can git reasonably assign a sequential revision number? A has no knowledge of B before they push/pull each other’s changes.
Another thing to look at is simplified branching for bugfix branches:
Start with a release: 3.0.8. Then, after that release, do this:
git branch bugfixes308
This will create a branch for bugfixes. Checkout the branch:
git checkout bugfixes308
Now make any bugfix changes you want.
git commit -a
Commit them, and switch back to the master branch:
git checkout master
Then pull in those changes from the other branch:
git merge bugfixes308
That way, you have a separate release-specific bugfix branch, but you’re still pulling the bugfix changes into your main dev trunk.