# Github Desktop でのコミットのチェリーピック

GitHub Desktop を使用して、あるブランチで特定のコミットを選び、コミットを別のブランチにコピーできます。

## Git のチェリーピックについて

あるブランチのコミットをチェリーピックして、別のブランチに同じ変更を加えたコミットのコピーを作成できます。 間違ったブランチに変更をコミットした場合、または同じ変更を別のブランチに反映する場合は、コミットをチェリーピックして別のブランチに変更を適用することができます。 また、pull request を作成したりマージしたりする前に、チェリーピックを使って特定の変更を適用することもできます。 たとえば、機能ブランチにバグ修正をコミットした場合、そのバグ修正を含むコミットをプロジェクトの他のブランチにチェリーピックすることができます。

また、チームとの共同作業時にもチェリーピックを使用できます。 一部のプロジェクトには、チェリーピック コミットによる貢献が組み込まれています。 詳細については、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]** をクリックします。

   ![リポジトリ バーのスクリーンショット。 ドロップダウン メニューを示す下向き矢印が付いた \[Current Branch\] というボタンがオレンジ色の枠線で囲まれています。](/assets/images/help/desktop/current-branch-menu.png)

2. ブランチの一覧から、チェリーピックしたいコミットが含まれるブランチをクリックします。

   ![\[現在のブランチ\] ドロップダウン ビューのスクリーンショット。 \[Recent Branches\] (最近のブランチ) の下にある "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> キーを使って、1 つのコミットを選んだり、複数のコミットを選んだりすることができます。

   </div>

   <div class="ghd-tool windows">

<kbd>Ctrl</kbd> キーまたは <kbd>Shift</kbd> キーを使って、1 つのコミットを選んだり、複数のコミットを選んだりすることができます。

   </div>

1. 選択したコミットを右クリックし、**\[Cherry pick コミット]** をクリックし、コミットのコピー先のブランチを選択します。 また、チェリーピックするコミットを \[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\] アイコンに 1 つの追加コミットが表示されています。](/assets/images/help/desktop/cherry-picking.png)

2. 現在のブランチは、コミットをチェリーピックした先のブランチに切り替わります。 これで、チェリーピックしたコミットをリモート リポジトリにプッシュできるようになります。

## 参考資料

* Git のドキュメント内の [git-cherry-pick](https://git-scm.com/docs/git-cherry-pick)
* [GitHub Desktop 内でコミットを管理するオプション](/ja/desktop/managing-commits/options-for-managing-commits-in-github-desktop)