LoginSignup
20
12

More than 1 year has passed since last update.

【GitHub Desktop】簡単!ドラッグ&ドロップでcherry-pick

Last updated at Posted at 2022-06-16

想定読者

  • Git・GitHub初心者
  • GitHubの操作でGUIツールの利用を検討している方
  • GitHub Desktopを使い始めた方

はじめに

GitHub Desktopは、GitHub公式が提供しているクライアントツールです。(以下、公式ダウンロードリンク)

GUIツールで視覚的・直感的な操作が可能であり、コマンド入力の手間を省くことができます。

ところで、Git・GitHubを使って開発をしている途中で、「別のブランチのこのコミットだけ、自分の作業ブランチに反映させたいな…」と思ったことはないでしょうか?
そのような状況を解決してくれるのが、今回触れるcherry-pickという機能です。

cherry-pickは、別のブランチにある指定のコミットを現在のブランチに反映させてくれます。

今回は、コマンド・GitHub Desktopのそれぞれを用いたcherry-pick方法を紹介します。

前提

  • OS:Windows10 21H2
  • GitHub Desktopのバージョン:3.0.1 (x64)
    (macOS版もあります)

準備物・実現内容

  • 作成したレポジトリ:cherry-pick
  • 元のブランチ:main
  • 別のブランチ:another
  • 自分の作業ブランチ:mine

anotherの指定のコミットEの内容をmineに反映させる。

  • before
    スクリーンショット 2022-06-10 163630.png
  • after
    スクリーンショット 2022-06-10 163646.png

E'になっているのは、コミットのハッシュ値が元のEと異なるからです。
EとE'は別物だけど、内容は同じというイメージです。

コマンドでのcherry-pick実行手順

mineに移動の上、以下のコマンドを実行するとcherry-pick完了です。

コマンドライン
$ git cherry-pick 指定のコミットID

ちなみにコミットIDは、次のコマンドで調べることができます。

コマンドライン
$ git log

表示される内容のうち、「commit」の文字の横に記載されている長い数字・英字の羅列がコミットIDです。
スクリーンショット 2022-06-10 154758.png

GitHub Desktopを用いたcherry-pick実行手順

ここからが本題です。

以下の画像のようにGitHub DesktopでCurrent branchをanotherにし、Historyタブを押下します。
指定のコミットEを選択し、そのまま赤矢印の通りにCurrent branchの欄までドラッグします。
この時、まだドラッグ状態は維持したままにしてください。

(なお、複数のコミットを選択することも可能なので、まとめてcherry-pickしたい場合は[shift]キーを押しながら、対象のコミットを範囲選択します。)

スクリーンショット 2022-06-10 170144.png

すると、次の画像のように各ブランチが表示されるので、mineまでドラッグ&ドロップしてください。

スクリーンショット 2022-06-10 170818.png

その後、Current branchがmineに自動で切り替わり、cherry-pickしたコミットが反映されていることを確認することができます。
(cherry-pickした内容によってはコンフリクトが発生するので、発生した場合はコンフリクト箇所の修正が必要です。)

問題なければプッシュし、元に戻したい場合は上部に表示されているメッセージ横の「Undo」を押下してください。

これでcherry-pick完了です。

スクリーンショット 2022-06-10 171022.png

おわりに

ドラッグ&ドロップで直感的にcherry-pickができるのは、すごく便利ですよね!
実は、この機能は1年以上前から備わっていたのですが、恥ずかしながらつい最近になって知りました…

このように、GitHub Desktopはコマンドなしで様々な操作を行うことができるので、実際の開発現場でもとても重宝しています!

しかし、頼りすぎるとコマンドでの操作に慣れることができず、ツールだけでは実行できない操作もあるので、早いうちにコマンド操作にも慣れておくことをおすすめします!

それでは、良き開発ライフを!

参考情報

20
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
12