git cherry-pick 徹底解説|コマンド早見表

目次

git cherry-pickとは?

git cherry-pickとは、特定のコミットだけを選んで、別のブランチに取り込むことができる便利なコマンドです。

主に以下の場面でよく利用されます。

  • 特定ブランチから一部の変更だけを反映したいとき
  • 修正・バグフィックスを他ブランチに素早く取り入れたいとき
  • 開発途中で一部コミットを別ブランチに適用したいとき

git cherry-pick基本構文

git cherry-pickの基本構文は以下の通りです。

git cherry-pick [コミットハッシュ]

具体例:

git cherry-pick abc1234

これで指定したコミットの内容を現在作業中のブランチに適用できます。

cherry-pickの手順と流れ

git cherry-pickを使用する一般的な手順と流れは以下の通りです。

  1. コミットのハッシュ値を確認(git logなどで確認)
  2. コミットを取り込みたいブランチにチェックアウト
  3. git cherry-pickコマンドを実行

具体例:

git checkout develop
git cherry-pick abc1234

この流れで、指定したコミットを簡単に反映できます。

複数コミットの反映方法

複数のコミットを一度にまとめてcherry-pickしたい場合は、コミット範囲を指定します。

基本構文:

git cherry-pick [開始コミット]..[終了コミット]

具体例:

git cherry-pick abc1234..def5678

これにより、abc1234の次のコミットからdef5678までのコミットを順番に反映できます。

競合発生時の対処法

cherry-pickを実行すると、ファイル競合(コンフリクト)が発生する場合があります。

競合が発生した場合の対処手順:

  1. 競合箇所を手動で編集し解決
  2. 変更をステージング(git add
  3. cherry-pickを完了させる(git cherry-pick --continue

具体例:

# 競合部分を手動で修正後
git add [ファイル名]
git cherry-pick --continue

競合を解決したくない場合は、git cherry-pick --abortで取り消しましょう。

cherry-pickの取消方法

cherry-pickを途中でやめたい場合は、以下のコマンドで取り消せます。

git cherry-pick --abort

また、すでに反映済みのcherry-pickを取り消したい場合は、以下のコマンドを実行します。

git reset --hard HEAD^

※ただし、resetを使うとコミットが完全に消えるため注意しましょう。

revertとの違いを解説

git cherry-pickと似た機能にgit revertがありますが、それぞれの役割は異なります。

  • git cherry-pick
    特定のコミットを他ブランチに反映(追加)します。
  • git revert
    既にコミットされた変更を打ち消す新しいコミットを作成します。

用途を明確に理解して使い分けましょう。

cherry-pick使用時の注意点

git cherry-pickを使う際は、以下の点に注意しましょう。

  • cherry-pickは新しいコミットが作成されるため、コミットハッシュ値が元のコミットと変わります。
  • 頻繁にcherry-pickを使用するとブランチ間の差分管理が難しくなるため、使用は必要最低限に抑えましょう。
  • cherry-pickの競合解決は慎重に行い、反映後は必ず動作確認を行いましょう。

cherry-pick便利コマンド集

よく使われるcherry-pickの便利なコマンドをまとめました。

  • コミットを1つ反映
git cherry-pick abc1234
  • 複数コミットをまとめて反映
git cherry-pick abc1234..def5678
  • 競合を解決後にcherry-pickを継続
git cherry-pick --continue
  • cherry-pickを中断・キャンセル
git cherry-pick --abort

うまく活用して作業効率を上げましょう。

cherry-pickコマンド早見表

最後にgit cherry-pickのコマンド早見表をまとめました。

操作内容コマンド
コミットを1つ反映git cherry-pick コミットハッシュ
複数コミットをまとめて反映git cherry-pick ハッシュ1..ハッシュ2
競合の解決後に継続git cherry-pick --continue
cherry-pickを取り消すgit cherry-pick --abort
直前コミットを取り消すgit reset --hard HEAD^

git cherry-pickを使いこなして、開発作業をさらにスムーズに進めましょう。

未経験からエンジニアへ転職!おすすめの転職サービスはこちら

「未経験だけどエンジニアになりたい…」「IT業界に興味があるけど、どこから始めるべきかわからない…」
そんな方におすすめなのが、プログラミングスクールを活用した転職活動です。
実績豊富なスクールを利用すれば、未経験からでもエンジニアとしての転職がぐっと近づきます!

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次