项目作者: idc101

项目描述 :
Automatic Semantic Versioning for git based software development
高级语言: Scala
项目地址: git://github.com/idc101/git-mkver.git
创建时间: 2020-03-30T10:41:44Z
项目社区:https://github.com/idc101/git-mkver

开源协议:MIT License

下载


git-mkver

Automatic Semantic Versioning for git based software development.

For more information head to the project site.

Features

  • Determine next version based on:
  • Next version conforms to Semantic Versioning scheme
  • Patch the next version into source files using a configurable find and replace system
  • Tag the current commit with the next version number

Works out of the box with trunk based development, GitFlow and GithubFlow. Alternatively all of this can be configured
based on the branch name so release/main branches get different version numbers to develop or feature branches.

Installation

Install with brew, scoop or simply download the binary for your os
from the releases page and copy somewhere on your path.

Usage

Start by using Conventional Commits to indicate whether the commits contain
major, minor or patch level changes.

  1. $ git commit -m "feat: added a new feature (this will increment the minor version)"

Then call git mkver next and it will tell you the next version of the software should be if you publish now.

  1. $ git mkver next
  2. v0.4.0

Tagging

If you would like to publish a version, git-mkver can tag the current commit.

  1. $ git mkver tag

This will apply an annotated tag from the next command to the current commit.

Patching versions in files

If you would like to patch version numbers in files prior to building and tagging then
you can use the patch command. The files to be patched and the replacements are
defined in the mkver.conf config file. A large number of standard patches come
pre-defined.

  1. $ git mkver patch