release cli 🚀

Release cli is a useful command-line tool for semantic version tags. A semantic version has three parts: major, minor, and patch. For example,
for v0.1.2, the major version is 0, the minor version is 1, and the patch version is 2.
It's necessary for example of the Go Modules. For more information read the following article. https://blog.golang.org/using-go-modules

Installation
Install using the "go get" command:
go get github.com/exaring/release-cli/cmd/release
Prebuilt binaries
Clone the repo and then run the makefile
make install
Use
> release -h
NAME:
release-cli (release tool) - create semantic version tags
USAGE:
release [global options] command [command options] [arguments...]
VERSION:
v2.0.0-RC1
DESCRIPTION:
Release is a useful command line tool for semantic version tags
COMMANDS:
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--major increase major version part. [$RELEASE_MAJOR]
--minor increase minor version part. [$RELEASE_MINOR]
--patch increase patch version part. This is the default increased part. [$RELEASE_PATCH]
--pre increase release candidate version part. [$RELEASE_PRE]
-d, --dry do not change anything. just print the result. [$DRY_RUN]
-f, --force ignore untracked & uncommitted changes. [$FORCE]
-b value, --branch value only track tags related to the given branch when creating new version tags. [$ONLY_BRANCH]
-l value, --log value specifics the log level of the output [$LOG_LEVEL]
--help, -h show help
--version, -v print the version
Example
# release the next patch release (default)
> release -l debug
DEBU[0000] Read the directory
DEBU[0000] Analyse the git repository
DEBU[0000] Detect latest tag of the repository Tag=v4.2.1 repository=/tmp/dirty-repo
INFO[0000] Create new releasing version Tag=v4.2.2
DEBU[0001] Tagging the current repository Version=v4.2.2
DEBU[0004] Pushing new tag to the origin repository Version=v4.2.2
INFO[0004] Release new version Version=v4.2.2
# release the next minor version
> release -l debug -minor
DEBU[0000] Read the directory
DEBU[0000] Analyse the git repository
DEBU[0000] Detect latest tag of the repository Tag=v4.2.2 repository=/tmp/dirty-repo
INFO[0000] Create new releasing version Tag=v4.3.0
DEBU[0001] Tagging the current repository Version=v4.3.0
DEBU[0004] Pushing new tag to the origin repository Version=v4.3.0
INFO[0004] Release new version Version=v4.3.0
# release a major pre-release
> release -l debug -major -pre
DEBU[0000] Read the directory
DEBU[0000] Analyse the git repository
DEBU[0000] Detect latest tag of the repository Tag=v4.2.1 repository=/tmp/dirty-repo
INFO[0000] Create new releasing version Tag=v5.0.0-RC1
DEBU[0001] Tagging the current repository Version=v5.0.0-RC1
DEBU[0004] Pushing new tag to the origin repository Version=v5.0.0-RC1
INFO[0004] Release new version Version=v5.0.0-RC1