jj-split
divides a change into multiple changes
TLDR
SYNOPSIS
jj split [options] [filesets...]
DESCRIPTION
jj split divides a revision into two. A diff editor opens on the changes in the revision; edit the right side until it contains what should go into the first commit. After closing the editor, the selected changes stay in the original commit and the remaining changes move into a new child commit, with descendants rebased on top.With -p the two parts become siblings on the same parent. With -o, -A or -B the selected changes are extracted to a new commit at a different location, which is a quick way to move part of a change elsewhere in the history.
PARAMETERS
FILESETS
Files matching any of these go into the selected (first) change.-r, --revision REV
Revision to split (default: @).-i, --interactive
Interactively choose which parts to split. Default when no filesets are given.--tool NAME
Diff editor to use (implies --interactive).-m, --message MESSAGE
Description for the selected changes, without opening an editor.--editor
Open an editor for the description even when --message is given.-p, --parallel
Make the two parts siblings instead of parent and child.-o, --onto REVSETS
Put the selected changes into a new commit on the given revision(s); the rest stays in place.-A, --insert-after REVSETS
Insert the selected changes as a new commit after the given revision(s).-B, --insert-before REVSETS
Insert the selected changes as a new commit before the given revision(s).
INSTALL
CAVEATS
Splitting an empty commit is not supported; use jj new instead. You are prompted for descriptions of the split commits unless -m is used.
SEE ALSO
jj(1), jj-squash(1), jj-describe(1), jj-diffedit(1), jj-parallelize(1)
