Since you are using git, use the commit history as your change log. Just make sure you are writing short but descriptive messages.
Most of the software I write is uses Major.Minor.Revision for my visioning.
- Major - Software version. This will only increment if I make a huge change to the code base or rewrite it all.
- Minor - Release. This changes when I merge changes from the development branch to the master.
- Revision - Patch number. this will constantly be changing, this is how many times I have pushed to the branch since incrementing the Minor.
An example would be:
1.0.0-dev -> 1.0.1-dev -> 1.0.2-dev -> 1.1.0-rc & 1.1.0-dev
Should I have to make a hot fix I would release 1.1.1-rc and 1.1.1-dev.
As for the requirements for alpha/aeta, you can set your own criteria but normally alpha is usually where you add features to your code and fix the major issues, and beta is where you fine tune your code.
Some good references that go into more detail than I have are: