git-branchless-sync(1)

NAME
sync - Move any local commit stacks on top of the main branch

SYNOPSIS
sync [-p|--pull] [-f|--force-rewrite] [--in-memory] [--on-disk] [--no-deduplicate-commits] [-m|--merge] [--reparent] [--debug-dump-rebase-constraints] [--debug-dump-rebase-plan] [--hidden] [-h|--help] [REVSETS]

DESCRIPTION
Move any local commit stacks on top of the main branch

OPTIONS

-p, --pull
    Run `git fetch` to update remote references before carrying out the sync

-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

--hidden
    Include hidden commits in the results of evaluating revset expressions

-h, --help
    Print help

[REVSETS]
    The commits whose stacks will be moved on top of the main branch. If no commits are provided, all draft commits will be synced