SYNOPSIS

git octopus [-n|-c] [-s <n>] [-e <pattern>] [<pattern>…]
git octopus -v

DESCRIPTION

<pattern> can be any usual refspec or a naming pattern. Patterns are resolved using git ls-remote, the resulting refs are given to git merge.

In case of conflicts, tries to reuse conflict resolutions stored by git conflict in refs/conflicts/*. (See git-conflict(1)).

In case of a merge failure, iterates over all the refs, computing merges with each ref (from HEAD) one by one for diagnosic purpose. Learn more about conflict management on the project’s homepage.

OPTIONS

-n

Leaves the repository back to HEAD.

-c

Commit the resulting merge in the current branch. This is the default behavior unless -n or octopus.commit set to false. Use this option to override the latter.

-s <n>

Chunk mode: the merge is performed by subsets of <n> branches. This is meant to help reading the log graph when lots of branches are merged.

-e <pattern>

Exclude pattern: the merge excludes branches matching the <pattern>.

-v

Prints the version of git-octopus

EXAMPLES

  • Merge check of the current branch with all feature branches and the master from origin:

    $ git octopus -n origin/features/* origin/master

    This is basically a merge check you would do before pushing your branch.

CONFIGURATION

octopus.commit

true by default. set to false behaves like -n

octopus.pattern

Defines a branch naming pattern that git octopus would use by default. Use multiple lines to define several patterns. See git-config(1).

octopus.excludePattern

Defines a branch naming pattern that git octopus will exclude by default.

SEE ALSO

GIT-OCTOPUS

Part of the git-octopus suit.