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.
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 and delete it merge Merge the current branch on the referenced branch without deleting branch release Create the release tag on the production branch. Synchronize the dev branch and production branch
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 . |