git-branchless-move(1)
๐ move โ git-branchless-move(1) ๐
okay bestie, welcome to the git-branchless-move(1) page from the General Commands Manual โ itโs giving โrelocate your whole commit stackโ energy and honestly? iconic. ๐ซถ
๐ธ NAME ๐ธ
move โ Move a subtree of commits from one location to another. literally picking up your little commit family and moving it somewhere new ๐
โจ 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. thatโs the whole mission, and it ate ๐
By default, git move tries to move the entire current stack if you donโt pass a --source or --base option โ thatโs equivalent to writing --base HEAD, iykyk.
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: post-commit hooks are not called during in-memory rebases. no cap, thatโs important ๐
๐ OPTIONS ๐
-s,--source <SOURCE>โ The source commit to move. This commit, and all of its descendants, will be moved. the whole little family tree comes with it ๐ณ-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. so itโs not just the direct kids โ the whole branch situation gets relocated ๐ซ-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. very โpick meโ behavior, but for commits ๐ฏ-d,--dest <DEST>โ The destination commit to move all source commits onto. If not provided, defaults to the current commit. so if you donโt choose a destination, it just says โcurrent commit, youโre the main character nowโ ๐--hiddenโ Include hidden commits in the results of evaluating revset expressions. the hidden girlies get to show up to the function ๐-f,--force-rewriteโ Force moving public commits, even though other people may have access to those commits.
โ ๏ธ okay so this one is literally called โforceโ for a reason โ public commits are public, bestie. move them only if youโre ready for the consequences ๐
--in-memoryโ Only attempt to perform an in-memory rebase. If it fails, do not attempt an on-disk rebase. itโs giving โin-memory or nothingโ โจ--on-diskโ Skip attempting to use an in-memory rebase, and try an on-disk rebase directly. straight to disk, no in-memory warm-up ๐--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. so yes, it can absolutely let the duplicate little guys through ๐ซถ-m,--mergeโ Attempt to resolve merge conflicts, if any. If a merge conflict occurs and this option is not set, the operation is aborted. no--merge, no conflict-resolution fantasy โ it just stops ๐ญ--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.
โ ๏ธ use with care, fr fr โ far-away branches can drag unintended changes onto the destination like an overpacked suitcase ๐งณ
--debug-dump-rebase-constraintsโ Debugging option. Print the constraints used to create the rebase plan before executing it. nerdy and useful, we love her ๐--debug-dump-rebase-planโ Debugging option. Print the rebase plan that will be executed before executing it. preview the plan before the plan does its thing ๐-F,--fixupโ Combine the moved commits and squash them into the destination commit. tiny commits go in, one destination commit comes out ๐-I,--insertโ Insert the subtree between the destination and itโs children, if any. Only supported if the moved subtree has a single head. single head only, bestie โ thatโs the rule ๐ซ--dry-runโ Test whether an in-memory rebase would succeed. a little rehearsal before the real performance ๐ญ-h,--helpโ Print help (see a summary with '-h'). the classic โhelp me help youโ moment ๐
okay thatโs the whole manual, bestie โ go move that subtree like the main character you are ๐
source/version: git-branchless-move(1) from the General Commands Manual; date: the footer didnโt give us a separate date stamp, so thatโs the sign-off vibe ๐โจ
๐ฆ where this page comes from
- arch rolling: git-branchless 0.11.1-2 ยท Apache-2.0 AND MIT
- nixpkgs unstable: git-branchless 0.11.1
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms