Skip to content

Command Line Arguments

George DeCherney edited this page Nov 21, 2018 · 14 revisions

(version 0.4.1)

Initialize

git flow init [-fd]

-d use default branch names

-f force

Initialize a new git repo with support for the branching model.

Feature

git flow feature [list] [-v]

-v verbose (more) output

Lists existing features

git flow feature start [-F] <name> [<base>]

-F fetch from $ORIGIN before performing local operation

Start new feature <name>, optionally basing it on <base> instead of <develop>

git flow feature finish [-rFkDS] <name|nameprefix>

-r rebase instead of merge

-F fetch from $ORIGIN before performing finish

-k keep branch after performing finish

-D force delete feature branch after finish

-S squash feature during merge

Finish feature <name>

git flow feature publish <name>

Start sharing feature <name> on $ORIGIN

git flow feature track <name>

Start tracking feature <name> that is shared on $ORIGIN

git flow feature diff [<name|nameprefix>]

Show all changes in <name> that are not in <develop>

git flow feature rebase [-i] [<name|nameprefix>]

-i do an interactive rebase

Rebase <name> on <develop>

git flow feature checkout [<name|nameprefix>]

Switch to feature branch <name>

git flow feature pull <remote> [<name>]

Pull feature <name> from <remote>

Release

git flow release [list] [-v]

-v verbose (more) output

Lists existing releases

git flow release start [-F] <version>

-F fetch from $ORIGIN before performing local operation

Start new release named <version>

git flow release finish [-Fsumpkn] <version>

-F fetch from $ORIGIN before performing finish

-s sign the release tag cryptographically

-u use the given GPG-key for the digital signature (implies -s)

-m use the given tag message

-p push to $ORIGIN after performing finish

-k keep branch after performing finish

-n don't tag this release

-S squash release during merge

Finish release <version>

git flow release publish <name>

Start sharing release <name> on $ORIGIN

git flow release track <name>

Start tracking release <name> that is shared on $ORIGIN

Hotfix

git flow hotfix [list] [-v]

-v verbose (more) output

Lists existing hotfixes

git flow hotfix start [-F] <version> [<base>]

-F fetch from $ORIGIN before performing local operation

Start new hotfix named <version>, optionally base it on <base> instead of <master>

git flow hotfix finish [-Fsumpkn] <version>

-F fetch from $ORIGIN before performing finish

-s sign the release tag cryptographically

-u use the given GPG-key for the digital signature (implies -s)

-m use the given tag message

-p push to $ORIGIN after performing finish

-k keep branch after performing finish

-n don't tag this release

Finish hotfix <version>

Support

git flow support [list] [-v]

-v verbose (more) output

Lists existing support branches

git flow support start [-F] <version> <base>

-F fetch from $ORIGIN before performing local operation

Start new support branch named <version> based on <base>

Configuration

Setting a different remote repo

A remote repo different from origin can be specified in the config file:

$ git config gitflow.origin myorigin

Default to fetching before local operations

If you always want to fetch from $ORIGIN before certain operations, for example before starting a feature:

$ git config gitflow.feature.start.fetch true

This can still be overridden on the command line by supplying the --nofetch argument.

Prevent hotfixes from automatically creating tag

If you want to have the default be not to tag you can set this config:

$ git config gitflow.hotfix.finish.notag true