投稿

[GitHub 100日チャレンジ] Day 68 - Git Cherry-pickで特定コミットを取り込む

別ブランチの特定コミットだけを現在のブランチへ取り込むgit cherry-pickの使い方を学びます。

[GitHub 100日チャレンジ] Day 68 - Git Cherry-pickで特定コミットを取り込む

cherry-pickとは

git cherry-pickは、別ブランチにある特定のコミットだけを現在のブランチへ適用する命令です。

1
2
git switch release
git cherry-pick abc1234

ブランチ全体をmergeせず、必要な修正だけ取り込みたいときに便利です。

使う場面

  • mainに入ったhotfixをreleaseブランチにも入れる
  • 大きなfeatureブランチから安全な1コミットだけ移す
  • 誤ったブランチで作ったコミットを正しいブランチへ移す

基本操作

1
2
3
git log --oneline
git show abc1234
git cherry-pick abc1234

複数コミットを指定することもできます。

1
git cherry-pick abc1234 def5678

競合した場合

1
2
3
4
git status
# ファイルを修正
git add .
git cherry-pick --continue

やめたい場合は --abort で元の状態へ戻します。

1
git cherry-pick --abort

今日のゴール

cherry-pickは「必要なコミットだけを選ぶ」道具です。hotfixの横展開や誤ったブランチの修正移動で使えるようにしましょう。

この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。