Semantic Version Util is a tool to manage semantic versions at ease!
You can print the current version, increase patch/minor/major manually or just get the next tag based on your git log!
Based on the log between the latest tag and HEAD
, prints the next tag.
aliases:
svu next
andsvu n
$ svu
v1.3.0
Commit message | Tag increase |
---|---|
fix: fixed something |
Patch |
feat: added new button to do X |
Minor |
fix: fixed thing xyz BREAKING CHANGE: this will break users because of blah |
Major |
fix!: fixed something |
Major |
feat!: added blah |
Major |
chore: foo |
Nothing |
Prints the latest tag.
alias:
svu c
$ svu current
v1.2.3
Increases the major of the latest tag and prints it.
$ svu major
v2.0.0
Increases the minor of the latest tag and prints it.
alias:
svu m
$ svu minor
v1.3.0
Increases the patch of the latest tag and prints it.
alias:
svu p
$ svu patch
v1.2.4
The idea is that svu
will just print things, so its safe to run at any time.
You can create tags by wrapping it in an alias. For example, I have one like this:
alias gtn='git tag $(svu next)'
So, whenever I want to create a tag, I just run gtn
.
go get github.com/caarlos0/svu
or
brew install caarlos0/tap/svu
or
curl -sfL https://install.goreleaser.com/github.com/caarlos0/svu.sh | bash -s -- -b /usr/local/bin
Or download one from the releases tab and install manually.