はんなりと、ゆるやかに

アジャイル、スクラムが好きなITエンジニアが日々から学んだことをアウトプット

特定のコミットを取り込むGitコマンド:cherry-pick

別ブランチの特定のコミットだけを取り込みたいことはありませんか。

そんな時に使えるコマンドが git cherry-pickです。git cherry-pickは特定のコミットだけを取り込めます。
git-scm.com

今回の検証に使ったgit version は 2.28.0 です。

変更を取り込む

git cherry-pickコマンドは1つ、もしくは複数のコミットを指定して取り込めます。

git cherry-pick <branch名>

指定ブランチの先頭にあるコミットをチェリーピックします。

git cherry-pick <コミットのハッシュ値>

指定したコミットをチェリーピックします。

git cherry-pick <開始コミットのハッシュ値>..<終了コミットのハッシュ値>

指定した間のコミットをチェリーピックします。開始のコミットはチェリーピック対象に含まれませんが、終了コミットは含まれます。

cherry-pickと一緒に使うオプション

-x

チェリーピックしたコミットのメッセージに(cherry picked from commit XXXXX)が追加されます。どこから持ってきたコミットか記録する場合に便利です。

-n

通常、チェリーピックしたコミットは自動的にチェリーピック先のブランチへコミットされます。本オプションを付けるとコミットはされずにファイルのコピーだけが行われます。複数のチェリーピックを一つのコミットとして扱いたい場合に便利です。

-e

チェリーピックしたコミットのメッセージが変更できます。指定しない場合はチェリーピック元のコミットメッセージがそのまま使われます。

まとめ

  • 特定のコミットを取り込むGitコマンド:cherry-pickを調べた
  • オプションでコミットメッセージを変更したり、コミットせずにチェリーピックする方法が分かった