0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

きみは git cherry-pick を知っているか?

0
Posted at

※当記事はギャル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

これで、a1b2c3d4e5f6g7h8までのコミットを
全部持ってこれちゃう!


⚠️ コンフリクトが起きたときは?

まぁね、現実そんなに甘くない🍬
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 で、欲しいコミットだけスマートにゲットしよう。
“全部取り込むより、選んでいこうぜ!”

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?