git-branchless-move(1)
| git-branchless-move(1) | General Commands Manual | 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] [--reparent] [--debug-dump-rebase-constraints] [--debug-dump-rebase-plan] [-F|--fixup] [-I|--insert] [--dry-run] [-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
- 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
- -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
- --dry-run
- Test whether an in-memory rebase would succeed
- -h, --help
- Print help (see a summary with '-h')
| move |
