GitButler ⧓

Commands
>_

but pick

Cherry-pick a commit from an unapplied branch into an applied virtual branch.

This command allows you to pick individual commits from unapplied branches and apply them to your current workspace branches.

The source can be:

  • A commit SHA (full or short)
  • A CLI ID (e.g., "c5" from but status)
  • An unapplied branch name (shows interactive commit selection)

If no target branch is specified:

  • In interactive mode: prompts you to select a target branch
  • If only one branch exists: automatically uses that branch
  • In non-interactive mode: fails with an error

Examples

Pick a specific commit into a branch:

but pick abc1234 my-feature

Pick using a CLI ID:

but pick c5 my-feature

Interactively select commits from an unapplied branch:

but pick feature-branch

If one or more cherry-picks conflict, GitButler keeps the commits in a conflicted state instead of aborting the operation. Resolve all of them, oldest first, with but resolve --ai; or find their IDs with but status and resolve them individually with but resolve <commit-id>. Back out of the pick operation with but undo.

Usage: but pick <SOURCE> [TARGET_BRANCH]

Arguments

  • <SOURCE> — The commit SHA, CLI ID, or unapplied branch name to cherry-pick from (required)
  • <TARGET_BRANCH> — The target virtual branch to apply the commit(s) to

Last updated on

On this page

Edit on GitHubGive us feedback