1.6.0 • Published 3 years ago

@workablehr/oneflow v1.6.0

Weekly downloads
1
License
MIT
Repository
github
Last release
3 years ago

one-flow

CLI tool to support Adam Ruka's branching model oneflow

Installing one-flow

  1. Run npm install -g @workablehr/oneflow

Initialization


Before using one-flow a configuration wizard should be run in order to setup some basic settings. The result of this wizard is saved in ~/.oneflowrc file. For project specific settings add and commit a .oneflowrc file in the root folder of your project.

The table below summarizes the supported settings:

SettingUsageDefault
BASE_BRANCHbase branch to close features, hotfixes, releasesmaster
MERGE_FFmerge branches during feature-close using --ff-only?true
FEATURE_CLOSE_REWRITE_COMMITSRewrite commits during feature-close to have as a prefix the feature-nametrue
RUN_CMD_AFTER_TAG_CREATIONRun a command after creating a tag
CHANGE_VERSIONS_WHEN_TAGGINGChange versions when creating a tag (hotfix-close, release-close) currently supporting nodejs, java, rubytrue
HOTFIX_CLOSE_REBASE_TO_LATEST_TAGRebase branch to latest tag during hotfix-close?true
PUSH_CHANGES_TO_REMOTEPush changes to remote when possible?true
MERGE_INTERACTIVEMerge interactively during feature-close, hotfix-close?false
FEATURE_CLOSE_SQUASHSquash commits during feature close to one commit?false
RELEASE_CREATE_AND_CLOSERelease create will also close it immediately updating versions and creating tags?false
RELEASE_CLOSE_MERGES_TO_BASE_BRANCHRelease close will merge changes to base branch. Choose no if you want to merge manually (eg. to run tests first).true
DEBUGShow debug information.false

To add autocomplete support use: oneflow completion >> ~/.bashrc

Branching models and Workflow


Feature branches


oneflow feature-create [options] [feature-name]

This command will create locally a feature branch from latest master.

Available options:

  -P, --no-push-flag  Will not push local changes to remote
  -h, --help          output usage information
  • To close a feature branch, use:
oneflow feature-close [options] [feature-name]

This command will close the specified feature branch to master

Available options:

  -P, --no-push-flag  Will not push local changes to remote
  -i, --interactive   Interactive rebase
  -r, --rewrite       Will rewrite commit messages with feature as prefix.
  -f, --ff            Will run merge with ff-only
  -s, --squash        Will squash commits into 1
  -h, --help          output usage information

Hotfix branches


oneflow hotfix-create [options] [hotfix-name] [base-tag]

This command will create locally a hotfix branch from the provided tag. one-flow will find and propose the latest tag if no other is provided.

Available options:

  -P, --no-push-flag  Will not push local changes to remote
  -h, --help          output usage information
  • To close a hotfix branch use:
oneflow hotfix-close [options] [hotfix-name] [tag]

This command will close a hotfix branch to master creating a tag

Available options:

  -i, --interactive     Interactive rebase
  -R, --no-rebase-flag  Will not rebase to latest hotfix
  -P, --no-push-flag    Will not push local changes to remote
  -h, --help            output usage information

Release branches


oneflow release-create [options] [commit] [tag]

This command will create a release branch from a specific commit or from master if no commit is provided

Available options:

  -P, --no-push-flag   Will not push local changes to remote
  -c, --close          Opens and closes the release creating a tag
  -M, --no-merge-flag  Will not merge after creating tag if called with -c
  -h, --help           output usage information
  • To close a release branch use:
oneflow release-close [options] [tag]

This command will tag and merge a release branch to master

Available options:

  -P, --no-push-flag   Will not push local changes to remote
  -M, --no-merge-flag  Will not merge after creating tag
  -h, --help           output usage information
1.6.0

3 years ago

1.5.2

4 years ago

1.5.1

4 years ago

1.5.0

6 years ago

1.4.2

6 years ago

1.4.1

6 years ago

1.4.0

6 years ago

1.3.2

6 years ago

1.3.1

6 years ago

1.3.0

6 years ago