git-octopus - Man Page

extends git-merge with branch naming patterns.

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

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-merge(1), git-ls-remote(1), git-conflict(1).

Git-Octopus

Part of the git-octopus suit.

Info

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