Code Monkey home page Code Monkey logo

gflow's Introduction

GFLOW

A command line inspired from the Git Flow process and adapted to use rebase command exlusively. It always keep your branches up to date.

example

Feature

  • Define a production and development branches,
  • See all branches status,
  • Rebase and run tasks (Install and test) before pushing a branch,
  • Always create a branch from production,

Install

npm install -g gflow

Usage

  Usage: gflow [options] [command]


  Options:

    -V, --version  output the version number
    -h, --help     output usage information


  Commands:

    branches    List all branches status
    finish      Merge the current branch on the referenced branch (production or ancestor) and delete it
    merge       Merge the current branch on the referenced branch (production or ancestor) without deleting branch
    release     Create the release tag on the production branch. Synchronize the dev branch and production branch (for CI like travis)
    init        Create a new git flow project
    new         Create a new branch from the latest commit of production branch
    push        Rebase the current branch from production and push all commit (run test before)
    rebase      Rebase the current branch from production
    fetch       Download objects and refs from another repository (--all and --prune)
    sync        Synchronize dev branch and production
    config      Operation about configuration
    help [cmd]  display help for [cmd]

Getting started

You can initialize a new GFlow project with this command:

gflow init

This command will configure the production and development branches.

Configuration options

Gflow init command generate a .glfowrc config file with some options look like:

{
  "flow": "gflow", // gflow || gitflow
  "production": "production",
  "develop": "master",
  "charBranchNameSeparator": "_",
  "remote": "origin",
  "ignores": [],
  "syncAfterFinish": true,
  "postFinish": "",
  "skipTest": true,
  "branchTypes": {
    "feat": "feat",
    "fix": "fix",
    "chore": "chore",
    "docs": "docs"
  }
}
Key Description
flow Change flow used by GFlow. gflow use rebase command and gitflow use merge command.
production Name of the production branch or the branch use as reference to rebase a feature branch.
develop Name of the development branch (or the release candidate branch).
charBranchNameSeparator Char separator of the a branch between branchName and task type (feat, fix, chore, etc...). Example: if char = "/" feat/branch_name.
remote Alias name of the remote repository (origin).
ignores Disable rebasing for the given branch list when the rebase-all command is used.
syncAfterFinishย  Perform synchronization between production and develop branches.
postFinish Run command after the finish command.
skipTest Disable unit test step.
branchTypes Configure the branch types for the command gflow new.

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.