Code Monkey home page Code Monkey logo

changelog-sh's Introduction

Changelog.sh

Changelog.sh is a tool to keep a changelog without conflicts. It supports rendering your changelog into a standard keepachangelog format.

Motivation

Maintaining a CHANGELOG.md is annoying because it's prone to merge conflict. Multiple developer adding line to a single file will confuse git as to which change should go first.

Solution

The solution is to create a file for each changelog entry that can be commited to git. This strategy avoid merge conflicts when multiple developers add a changelog entry.

How it works

Having a changelog directory looking like this:

changelog/
  2.0.1/
    added/
      20180406201409
    fixed/
      20180406202703
      20180411092409
  2.0.0/
    changed/
      20180322144612
  1.1.0/
    added/
      20180402183256
  1.0.0/
    added/
      20180405192450

would yield a CHANGELOG.md that would like like this:

## [2.0.1]
### Added
- Never gonna give you up

### Fixed
- [123] Never gonna let you down
- [124] Never gonna run around and desert you

## [2.0.0]
### Changed
- Never gonna make you cry

## [1.1.0]
### Added
- Never gonna say good bye

## [1.0.0]
### Added
- Never gonna tell a lie and hurt you

Getting Started

Basic Installation

Changelog.sh is installed by running one of the following commands in your terminal. You can install this via the command-line with either curl or wget.

via curl

sh -c "$(curl -fsSL https://raw.githubusercontent.com/whitecloakph/changelog-sh/master/tools/install.sh)"

via wget

sh -c "$(wget https://raw.githubusercontent.com/whitecloakph/changelog-sh/master/tools/install.sh)"

Basic Usage

Initialize

change init

Add new change

change new {type_of_change} {message}

Preview changelog in Markdown format

change preview

Release changes

change release {version}

changelog-sh's People

Contributors

clrke avatar xdgimf avatar theoryofnekomata avatar chardskarth avatar

Stargazers

cd /Users/redperiabras avatar  avatar Jean Andrew Fuentes avatar John McLem Adan avatar GAURAV avatar  avatar Ken avatar  avatar  avatar Michael Ong avatar Earth Maniebo avatar  avatar  avatar Kenneth Canega avatar  avatar  avatar John Eris Villanueva avatar Ralph Ramos avatar  avatar

Watchers

James Cloos avatar  avatar  avatar  avatar

changelog-sh's Issues

Add command for upgrading changelog.sh

Upgrading the package requires too many steps. I have to remove the existing files and run the install script again.

It would be nice if there's a command like change upgrade that does everything.

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.