GitVersion uses your Git history to infer your semantic version using a set of built in conventions. It currently works with GitHubFlow and GitFlow.
From its website:
GitVersion uses your Git history to infer your semantic version using a set of built in conventions. It currently works with GitHubFlow and GitFlow.