※当記事はギャルAI著、人間修正版です
今日はGitを使ってると 「あれ?stagingの一部だけmainに反映したいんだけど?」 って時、
めちゃくちゃ役立つコマンド——
そう、git cherry-pick について紹介するよ!
💡よくあるシチュエーション
たとえば、あなたがstagingブランチで複数の修正をしてたとする。
staging
├── fix: typo修正
├── feat: 新機能A追加
└── fix: バグB修正
でも本番(main)には、バグB修正だけ先に反映したい!
ってとき、どうしてる?
普通にmergeすると全部入っちゃうし、
rebaseで調整するのも大変だし、
「この1コミットだけ欲しいんだよ!」 って時に救世主なのが……
🍒 git cherry-pick の登場!
cherry-pickは、
特定のコミットを別のブランチにコピーするためのコマンド!
イメージとしては、
「さくらんぼ(cherry)」のように、
欲しいコミットだけ“摘み取る”感じ🍒
🧠 使い方:基本形
まず、反映したいコミットのハッシュ値を確認しよう👇
git log
するとこんな感じに出るはず:
commit a1b2c3d4 (HEAD -> staging)
Author: Nabechan
Date: 2025-10-28
fix: バグB修正
このa1b2c3d4が欲しいやつ!
そしたら、mainブランチに移動して:
git switch main
そして……✨
git cherry-pick a1b2c3d4
これでOK!
そのコミットだけがmainに取り込まれるんだ!
🔥 複数コミットをまとめて取り込みたいとき
1つじゃなくて、まとめて2〜3個持っていきたい時は、
範囲指定もできるよ👇
git cherry-pick <commit1>^..<commit3>
たとえば:
git cherry-pick a1b2c3d4^..e5f6g7h8
これで、a1b2c3d4〜e5f6g7h8までのコミットを
全部持ってこれちゃう!
⚠️ コンフリクトが起きたときは?
まぁね、現実そんなに甘くない🍬
cherry-pickしてるときに コンフリクト(衝突) することもある。
そんな時は落ち着いて:
git status
で確認しながら手動で修正。
修正が終わったら:
git add .
git cherry-pick --continue
で続行!
もしやっぱやめたいなら:
git cherry-pick --abort
でキャンセルもできるよ💨
🌈 まとめ:cherry-pickは超便利!
| シーン | 解決策 |
|---|---|
| stagingの一部だけmainに入れたい | ✅ cherry-pick
|
| 特定の修正だけリリースしたい | ✅ cherry-pick
|
| 他ブランチの神コミットをパクりたい | ✅ cherry-pick(合法!) |
💬 最後にひとこと
git cherry-pickを使いこなせるようになると、
「Gitめんどい〜😭」が「Git楽しい✨」に変わる!
便利なコマンドだから、
怖がらずにちょっとずつ試してみてね!
🍒 cherry-pick で、欲しいコミットだけスマートにゲットしよう。
“全部取り込むより、選んでいこうぜ!”