# How to Manage Cherry-Picks

Cherry-picking enables you to apply specific commits from one branch to another without merging the entire branch. In Aviator’s release management system, cherry-picks are used to selectively integrate changes into release candidates. This guide will walk you through the process of managing cherry-picks in Aviator, ensuring smooth handling of your release process.

## Prerequisites

Before you begin cherry-picking, ensure that your repository is properly connected to Aviator and that a release project has been created. Refer the guide [here](/releases-beta/getting-started.md) to know more about release projects.

1. Set up your repository and connect it to Aviator.
2. [Create a release project](/releases-beta/how-to-guides/creating-a-release-project.md) if it does not already exist.

## Cherry-Picking a Pull Request (PR)

### Step 1: Cut a New Release

1. Open Aviator’s Release Dashboard.
2. Cut a release from the listed PRs on the dashboard.

![](/files/8g6W5BhCd8x6m25AkV2f)

Note: You can skip this step if you already have an existing release to base the cherry-pick on, as this is the release where you will apply the cherry-pick.

### Step 2: Cherry-Pick the PR

1. Find the specific PR you wish to cherry-pick into your release.
2. Click on the PR to open the detailed view.
3. Click the "Cherry-pick" button in the PR details view.

![](/files/0fzVBfusREN4EzIpRyMU)

4. Click the button to initiate the cherry-pick process. Aviator will apply the changes from the PR into the selected release candidate in the dropdown. It may take a few seconds to apply the cherry-pick.
5. Aviator enables users to apply the same PR to multiple release candidates. You can select the oldest release version, and Aviator will apply the cherry-pick to all versions newer than that.
6. Users can also deselect the versions they don't want to apply cherry-picks to. Aviator will automatically detect which versions already include this PR and skip the cherry-pick for those versions.

![](/files/WbT2lj786dBx6sWO7SBO)

During the cherry-pick process, Aviator will display the current status of the operation. It may take a few seconds for the cherry-pick to be applied, and the status will indicate the progress:

* **In Progress**: The cherry-pick is still in progress.

![](/files/A9HpnllHYeUZ4uQwp79h)

* **Success**: The cherry-pick has been successfully applied, and a new release candidate has been created.

![](/files/pYPCy6nbw7PZTnIYlsVJ)

* **Failure**: The cherry-pick failed due to confliects, and Aviator will create a draft PR to resolve the issue.

![](/files/vHzLdsiriA5wXcA1SwZk)

If the cherry-pick is successful, a second release candidate of the release will be created.

## Cherry-Pick Failures

In some cases, a cherry-pick may fail due to conflicts between the changes in the PR and the current state of the release branch. Aviator will flag such conflicts and provide tools to help resolve them. To learn how to resolve cherry-pick failures, refer to the detailed guide on [Resolving Cherry-Pick Failures](/releases-beta/how-to-guides/resolving-a-cherry-pick-failure.md).

![](/files/Hy6jET5lV3a3vLqnISrj)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.aviator.co/releases-beta/how-to-guides/managing-cherry-picks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
