Git Product home page Git Product logo

git-mkver's Introduction

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/master 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.

$ 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.

$ git mkver next
v0.4.0

Tagging

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

$ 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.

$ git mkver patch

git-mkver's People

Contributors

cperezabo avatar dependabot[bot] avatar idc101 avatar jbergler avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.