Git plugin for Semantic Versioning
Clone or download
Mark Challoner
Latest commit d838cb3 Jul 13, 2018

Git Semantic Versioning

Table Of Contents


A git plugin to make adherance to Semantic Versioning 2.0.0 easier, with its own plugin architecture for optional version management of:

See for a description of plugins.

Semantic versioning

Semantic Versioning 2.0.0 is a scheme for versioning, which includes 3 parts e.g. 3.2.1 the components of which are:

  • Major: Used only for backward compatible breaking changes, i.e. when we have an all new theme etc.
  • Minor: Used for normal development, i.e. creating a new template
  • Bug fixes


Via git clone.

(git clone && sudo git-semver/

The installer installs git-semver into the first of the following directories that exist and are in the path:

  • $HOME/.local/bin
  • $HOME/bin
  • /usr/local/bin
  • /usr/local/bin
  • /usr/bin
  • /bin

In Linux, OSX and Windows Cygwin the installer will create a symlink. In Windows MinGW creates a stub instead.

The installer will not overwrite any existing configuration or plugins.


Get latest version tag

git semver get

Will return empty if no version has been created.

Create a new version tag

Versions are created as tags and are generated using:

git semver [major|minor|patch|next]

Patch (Next)

Increment the patch component (0.1.0 -> 0.1.1)

git semver patch|next

If no version has been created, the initial version will be: 0.1.0


Increment the minor component (0.1.0 -> 0.2.0)

git semver minor

If no version has been created, the initial version will be: 0.1.0


Increment the major component (0.1.0 -> 1.0.0)

git semver major

If no version has been created, the initial version will be: 1.0.0


Run git semver with no arguments to see usage

git semver [help]


Git-semver will check for a configuration file in the following locations (and use the one that exists):

  • $XDG_CONFIG_HOME/.git-semver/config
  • $HOME/.git-semver/config

Git-semver will default to $HOME/.git-semver/config if no configuration file is found.

An example configuration file with the default settings can be found at config.example.


Updates can be done using git. Change to the cloned directory and run a git pull:

(cd $(dirname $(readlink $(which git-semver))) && git status)



Via uninstaller in clone directory. Navigate to your original clone directory and run:

sudo git-semver/ [-p|--purge]

The purge switch will additionally remove the configuration directory.


git-semver is installed by placing a symlink/stub in one of the bin directories in the path.

  • ${HOME}/.local/bin
  • ${HOME}/bin
  • /usr/local/bin
  • /usr/bin
  • /bin

It can be deleted easily:

sudo rm $(which git-semver)

The configuration directory can be removed with:

rm -rf ${HOME}/.git-semver


Please see for more information what has changed recently.


Please see for details.