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