# 在 GitHub Desktop 中优选提交

你可以使用 GitHub Desktop 在一个分支上选择特定的提交，并将提交副本复制到另一个分支。

## 关于 Git cherry-pick

您可以在一个分支上拣选提交，并在另一个分支上创建包含相同更改的提交副本。 如果将更改提交到错误的分支或想要对另一分支进行相同的更改，您可以优选提交将更改应用到另一个分支。 您也可以在准备创建或合并拉取请求之前使用优选来应用特定的更改。 例如，如果您向功能分支提交了一个错误修复，您可以将包含错误修复的提交挑选到项目的其他分支。

您还可以在与团队合作时使用优选。 有些项目通过挑选提交来进行贡献。 有关详细信息，请参阅 Git 文档中的[分布式 Git - 维护项目](https://git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project#_rebase_cherry_pick)。

## 挑选特定提交

1. 在 GitHub Desktop 中，单击“<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-git-branch" aria-label="git-branch" role="img"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg> Current Branch”\*\*\*\*。

   ![存储库栏的屏幕截图。 标记为“当前分支”的按钮带有指示下拉菜单的向下箭头，以橙色框出。](/assets/images/help/desktop/current-branch-menu.png)

2. 在分支列表中，单击包含您想要进行拣选的提交的分支。

   ![“当前分支”下拉列表视图的屏幕截图。 在“最近分支”中，名为“my-feature”的分支以橙色轮廓进行突出显示。](/assets/images/help/desktop/select-branch-from-dropdown.png)

3. 在左边栏中，单击“历史记录”。

   ![边栏中“历史记录”选项卡的屏幕截图。 在提交列表上方，标有“历史记录”的选项卡按钮以橙色轮廓突出显示。](/assets/images/help/desktop/history-tab-in-commit-sidebar.png)

4. 选择要挑拣的提交。

   <div class="ghd-tool mac">

   可以选择一个提交，也可以使用 <kbd>Command</kbd> 或 <kbd>Shift</kbd> 选择多个提交。

   </div>

   <div class="ghd-tool windows">

   可以选择一个提交，也可以使用 <kbd>Ctrl</kbd> 或 <kbd>Shift</kbd> 选择多个提交。

   </div>

5. 右键单击所选提交，然后单击 **“挑拣提交”**，然后选择要将提交复制到的分支。 可以从“History”选项卡将要拣选的提交拖到“<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-git-branch" aria-label="git-branch" role="img"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg> Current Branch”下拉菜单中，然后将该提交放到要复制到的分支上。

   ![“History”选项卡和“Current Branch”下拉列表的屏幕截图。 光标悬停在“my-feature”上，“+1”图标显示一个额外的提交。](/assets/images/help/desktop/cherry-picking.png)

6. 当前分支将更改为挑拣提交的分支。 现在可以将挑拣的提交推送到远程存储库。

## 其他阅读材料

* Git 文档中的 [git-cherry-pick](https://git-scm.com/docs/git-cherry-pick)
* [用于在 GitHub Desktop 中管理提交的选项](/zh/desktop/managing-commits/options-for-managing-commits-in-github-desktop)