git-branchless-submit(1) General Commands Manual git-branchless-submit(1)

submit - Push commits to a remote

submit [--hidden] [-F|--forge] [-c|--create] [-d|--draft] [-m|--message] [-j|--jobs] [-s|--strategy] [-n|--dry-run] [-h|--help] [REVSETS]

Push commits to a remote

Include hidden commits in the results of evaluating revset expressions
The Git hosting provider to use, called a "forge". If not provided, an attempt will be made to automatically detect the forge used by the repository. If no forge can be detected, will fall back to the "branch" forge

Possible values:

  • branch: Force-push branches to the default push remote. You can configure the default push remote with `git config remote.pushDefault <remote>`
  • github: Force-push branches to the remote and create a pull request for each branch using the `gh` command-line tool. WARNING: likely buggy!
  • phabricator: Submit code reviews to Phabricator using the `arc` command-line tool
If there is no associated remote commit or code review object for a given local commit, create the remote object by pushing the local commit to the forge
If the forge supports it, create code reviews in "draft" mode
If the forge supports it, an optional message to include with the create or update operation
If the forge supports it, how many jobs to execute in parallel. The value `0` indicates to use all CPUs
If the forge supports it and uses a tool that needs access to the working copy, what kind of execution strategy to use

Possible values:

  • working-copy: Default. Run the tests in the working copy. This requires a clean working copy. This is useful if you want to reuse build artifacts in the current directory
  • worktree: Run the tests in a separate worktree (managed by git-branchless). This is useful if you want to run tests in parallel, or if you want to run tests on a different commit without invalidating build artifacts in the current directory, or if you want to run tests while your working copy is dirty
Don't push or create anything. Instead, report what would be pushed or created. (This may still trigger fetching information from the forge.)
Print help (see a summary with '-h')
[REVSETS] [default: stack()]
The commits to push to the forge. Unless `--create` is passed, this will only push commits that already have associated remote objects on the forge
submit