commit-and-tag-version is a utility for incrementing (or "bumping") the semantic version number of your software. When run, it looks at your git history and decides whether the next version should be a major, minor or patch increment (or you can override this manually). By default, it is able to modify package.json (for JS/npm modules) and several other common file formats to contain the updated version number, rather than having to do it manually.
But if your version number is stored in files that commit-and-tag version doesn't support, you may need a script like this. In my case, I had some source code which printed out the version number within the program, for example:
$VERSION = "1.2.3-beta"