git-branchless-move(1)

NAME
move - Move a subtree of commits from one location to another

SYNOPSIS
move [-s|--source] [-b|--base] [-x|--exact] [-d|--dest] [--hidden] [-f|--force-rewrite] [--in-memory] [--on-disk] [--no-deduplicate-commits] [-m|--merge] [--debug-dump-rebase-constraints] [--debug-dump-rebase-plan] [-F|--fixup] [-I|--insert] [-h|--help]

DESCRIPTION
Move a subtree of commits from one location to another.

By default, `git move` tries to move the entire current stack if you don't pass a `--source` or `--base` option (equivalent to writing `--base HEAD`).

By default, `git move` attempts to rebase all commits in-memory. If you want to force an on-disk rebase, pass the `--on-disk` flag. Note that `post-commit` hooks are not called during in-memory rebases.

OPTIONS

-s, --source=SOURCE
    The source commit to move. This commit, and all of its descendants, will be moved

-b, --base=BASE
    A commit inside a subtree to move. The entire subtree, starting from the main branch, will be moved, not just the commits descending from this commit

-x, --exact=EXACT
    A set of specific commits to move. These will be removed from their current locations and any unmoved children will be moved to their nearest unmoved ancestor

-d, --dest=DEST
    The destination commit to move all source commits onto. If not provided, defaults to the current commit

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

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

-F, --fixup
    Combine the moved commits and squash them into the destination commit

-I, --insert
    Insert the subtree between the destination and it's children, if any. Only supported if the moved subtree has a single head

-h, --help
    Print help (see a summary with '-h')