code: def release_cherry_pick(obj, version, dry_run, recreate):
      """
      Cherry pick commits.
      """
      issue_tracker = obj["issue_tracker"]
      release = Release(
          version, repo=obj["repo"], issue_tracker=issue_tracker
      )
  
      if not dry_run:
          release.cherry_pick_commits(recreate_branch=recreate)
      else:
          click.echo(
              f"git checkout -b {release.branch} {release.base_branch}"
          )
          for commit in release.commits_to_pick():
              click.echo("git cherry-pick {}".format(commit.hexsha))
  
file_path: arrow/dev/archery/archery/release/cli.py
imports: import pathlib
  import click
  from ..utils.cli import validate_arrow_sources
  from .core import IssueTracker, Release
label_desc: Use image node_id 7 for calling a global function with example usage: release_cherry_pick(obj, version, dry_run, recreate) without return types