Versioning refers to the practice of assigning an arbitrary identifier to code at a particular point in development.
We strongly recommend following semantic versioning (semver). Avoid the temptation to create your own versioning schema, append build ids, dates, etc. Keep this information in a change log or other metadata, and tag with semver.
Use git tags to "ship" a version. Github provides some functionality on top of this, to include release notes, etc.
Since documentation
is only current for a particular release, it must be versioned in the same way. The simplest way to do this is to include the documentation as code in your repository.