The general approach is to make your commits 'atomic'. That is very subjective (differs for each person) but - particularly if you are working as part of a group - you should remain conscious of how the git history will read (the results of a
git log command). Depending upon the project, I often make commits at the end of a 'working session'. If those changes represent a little work on several features (or issues) I will use the
-i flag to selectively break up my changes in to several commits.
The tag in git is really just a different way to reference a commit. It is nothing more than a label.
The accepted SOP on Github is to provide a README file for your project. The Markdown language is extremely popular - and Github even has their own 'flavor' - and that is how the README.md file can display in a formatted (HTML) manner.
The same format is used in Github Gists.
If you are new to git and have a Github account don't miss out the great "add-on" capabilities you get with your Github account: