Reference

git-branchless-split(1)

Split commits

NAME

split - Split commits

SYNOPSIS

split [-b|--before] [-d|--detach] [-D|--discard] [--hidden] [-f|--force-rewrite] [--in-memory] [--on-disk] [--no-deduplicate-commits] [-m|--merge] [--reparent] [--debug-dump-rebase-constraints] [--debug-dump-rebase-plan] [-h|--help] <REVSET> <FILES>

DESCRIPTION

Split commits

OPTIONS

-b, --before

Insert the extracted commit before (as a parent of) the split commit

-d, --detach

Restack any descendents onto the split commit, not the extracted commit

-D, --discard

After extracting the changes, don't recommit them

--hidden

Include hidden commits in the results of evaluating revset expressions

-f, --force-rewrite

Force moving public commits, even though other people may have access to those commits

--in-memory

Only attempt to perform an in-memory rebase. If it fails, do not attempt an on-disk rebase

--on-disk

Skip attempting to use an in-memory rebase, and try an on-disk rebase directly

--no-deduplicate-commits

Don't attempt to deduplicate commits. Normally, a commit with the same contents as another commit which has already been applied to the target branch is skipped. If set, this flag skips that check

-m, --merge

Attempt to resolve merge conflicts, if any. If a merge conflict occurs and this option is not set, the operation is aborted

--reparent

Keep all contents of descendant commits exactly the same (i.e. "reparent" them). This can be useful when applying formatting or refactoring changes. Use with care if the descendants are moved from a far-away branch, as it may carry along a lot of unintended changes onto the destination

--debug-dump-rebase-constraints

Debugging option. Print the constraints used to create the rebase plan before executing it

--debug-dump-rebase-plan

Debugging option. Print the rebase plan that will be executed before executing it

-h, --help

Print help

<REVSET>

Commit to split. If a revset is given, it must resolve to a single commit

<FILES>

Files to extract from the commit