git-octopus - Man Page

extends git-merge with branch naming patterns.


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


<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.



Leaves the repository back to HEAD.


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>.


Prints the version of git-octopus




true by default. set to false behaves like -n


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


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

See Also

git-merge(1), git-ls-remote(1), git-conflict(1).


Part of the git-octopus suit.


02/11/2024 git-octopus 1.4 git-octopus suit Manual