株式会社ネットワールドのエンジニアがお届けする技術情報ブログです。
各製品のエキスパートたちが旬なトピックをご紹介します。

GitとCI/CDに関する知識ゼロのSEが、5分でGitLabのGUIでチェリーピックする

皆様こんにちは。SEの小池と申します。

今回のブログでは、GitLabのGUIでチェリーピックする方法 を述べます。

GitLabのGUIでチェリーピックする場合、コマンドは不要 です。
GitLabを使い始めたばかりの方が、GitLabを快適に使うための手助けになれば幸いでございます。

本記事の対象の方

  • GitLabのGUIからチェリーピックしたい方。

今回のブログのゴール

このブログのゴールはこちらです。


今回のゴール
  • GitLabのGUIからチェリーピックする。

事前ご連絡事項

  • 本記事はSaaS版 (GitLab.com) の Enterprise Edition 15.11.0-pre における仕様をベースに記載しております。それ以外のエディションやバージョンではこの記事に記載の通りではない可能性がございます。
  • 本記事の操作説明と画面ショットはGitLabのローカライズを日本語にした状態で説明しております。それ以外の言語をご利用の方は適宜読み替えてください。
  • 本記事はGitやCI/CDに関する知識ゼロのSEによるなんちゃって記事です。GitLabのディープな使用法についてはGitLabの公式オンラインドキュメント (こちら) をご参照ください。
  • 本ブログに掲載されている情報は正確性・安全性を保証するものではありません。本ブログの情報を利用することによって発生した損失や損害については、一切の責任を負いかねます。

チェリーピック (Cherry pick) とは?

任意の変更 (コミット) を、別のブランチに取り込むことです。
バグ修正などの重要な変更を、別のブランチに反映させたい場合 等に使用されます。

GitLabのGUIからチェリーピックする流れ

本ブログでは、GitLabのGUIからチェリーピックする手順を、以下の流れで紹介いたします。

  1. チェリーピック先のブランチを作成する。
  2. チェリーピックするコミットを探す。
  3. チェリーピックを実行する。
  4. 内容確認。

Step1 : チェリーピック先のブランチを作成する

先に、チェリーピック先のブランチ (チェリーピックしたコミットを反映させるブランチ) を作成しておきましょう。

GitLabのGUIでチェリーピックを実行する場合、チェリーピック先のブランチが無いとチェリーピックが実行できない ので、先に準備しておきます。

Step2 : チェリーピックするコミットを探す

チェリーピックするコミットを探し出します。

チェリーピックするコミットを探す方法はいくつかありますが、そのうち2つを挙げます。
お好きな方法で探してください。

チェリーピックするコミットを探す方法 その1 : コミット一覧から探す

チェリーピックしたいコミットが含まれるプロジェクトのページで、[リポジトリ] > [コミット] を開きます。

左上のプルダウンで、チェリーピックしたいコミットが含まれるブランチを指定します。

表示されているコミット一覧からチェリーピックしたいコミットを探し、それをクリックします。
(右上の検索ボックスから、コミットメッセージを検索することもできます。)

以下のように、コミットの詳細画面が表示されたらOKです。
この画面まま、次の Step3 : チェリーピックを実行する をご参照ください。

チェリーピックするコミットを探す方法 その2 : グラフから探す

チェリーピックしたいコミットが含まれるプロジェクトのページで、[リポジトリ] > [グラフ] を開きます。

左上のプルダウンで、チェリーピックしたいコミットが含まれるブランチを指定します。

グラフからチェリーピックしたいコミットを気合で見つけ出し、そのコミットの点 (●) をクリックします。

以下のように、コミットの詳細画面が表示されたらOKです。
この画面まま、次の Step3 : チェリーピックを実行する をご参照ください。

Step3 : チェリーピックを実行する

チェリーピックしたいコミット画面で、[Options] > [Cherry-pick] をクリックします。

チェリーピック先のプロジェクトとブランチ (Step1で作成したブランチ) を指定します。
同時にマージリクエストを新規作成したい場合は、[Start a new merge request with these changes] にチェックを入れます。この例では既にマージリクエストが有るので、チェックを外して進めます。
設定したら [Cherry-pick] をクリックします。

正常にチェリーピック出来ると、画面上部に「The commit has been successfully cherry-picked into <チェリーピック先のブランチ名>.」と表示されます。
なお、前の画面でマージリクエストの新規作成オプションを有効にしていた場合は、マージリクエスト作成画面になります。

Step4 : 内容確認

チェリーピック先のブランチで、チェリーピックが正常にできたことを確認します。

チェリーピック先のブランチのリポジトリを直接確認してもよいですが、せっかくなので ちゃんとチェリーピックされたことが確認できる方法 を2つ挙げます。
お好きな方法で確認なさってください。

確認方法 その1 : コミット一覧から確認する

チェリーピック先のブランチが含まれるプロジェクトのページで、[リポジトリ] > [コミット] を開きます。

左上のプルダウンで、チェリーピック先のブランチを指定します。

表示されているコミット一覧から、今回のチェリーピックによるコミットを探します。
[・・・] をクリックすると、下図のように「cherry picked from commit <コミットID>」と表示されます。
コミットIDはチェリーピック元のコミット詳細画面にリンクされているので、チェリーピックしたコミットに間違いが無いかを確認できます。

確認方法 その2 : グラフから確認する

チェリーピック先のブランチが含まれるプロジェクトのページで、[リポジトリ] > [グラフ] を開きます。

左上のプルダウンで、チェリーピック先のブランチを指定します。

グラフからチェリーピックによるコミットを気合で見つけ出し、そのコミットの点 (●) をクリックします。

コミット詳細画面で、「cherry picked from commit <コミットID>」と表示されていることを確認してください。
また、コミットIDはチェリーピック元のコミット詳細画面にリンクされているので、チェリーピックしたコミットに間違いが無いかを確認できます。

最後に

この度はGitもCI/CDもよくわかっていないど素人SEによるGitLab検証ブログをお読みいただき、誠にありがとうございます。
このブログの目標は以下のとおりでしたが、皆さまはいかがでしたでしょうか。


今回のゴール
  • GitLabのGUIからチェリーピックする。

GUIからチェリーピックする場合、コマンドは不要です。すごく便利ですよね・・・。
また、チェリーピック元のコミットに含まれる変更内容をGUIから確認できるので、「チェリーピック元のコミットを間違えた・・・」なんてミスも減るかと存じます。

この記事がGitLabを触り始めた方の一助となれば幸いにございます。


GitLabに関するお問い合わせは、以下のフォームからお願い致します。
GitLab製品 お問い合わせ

今までのGitLabの検証ブログはこちらです。
GitLab カテゴリーの記事一覧 - ネットワールド らぼ

GitLab操作デモ動画 (基本編) を作ってみました。(音声の録音は自宅でiPhoneのボイスメモ使うという超低クオリティですが…。)
つたない内容ではありますが、ご興味がおありでしたら是非ご視聴いただければと存じます。

www.youtube.com