Some aspects of working with GitHub can be very non-intuitive. One in particular is Tagging a new release of my project and pushing the tags to the remote repository. See the image below of a GitBash session I use to do my tagging. This set of commands seems to be working for me. I use tags to mark a new release of my project. With this approach it appears I can pull down the full code base for each release by using GitHub to download a zip for the desired tag. I would also like to do a diff between releases (tags)....still looking for an easy way to do this.
//Other useful commands:
//Show all tags in repository with date
git log --tags --simplify-by-decoration --pretty="format:%ai %d"
//Show changes since a date
git whatchanged --since='11/05/2014' > git.out