開発ブログ

WWWクリエイターズが送る、Git、CSS、HTML、コマンドライン、Macの便利機能など、開発に関する役立ち情報発信します。気まぐれに更新。

git cherry-pickの範囲指定で、複数のコミットを取り込む。

最終更新:2017-10-10 by Joe

git cherry-pick 自体はシンプルなコマンドですが、複数のコミットを一度に取り込みたい時、その方法について知っておく必要があります。

git cherry-pickで、コミットの範囲を指定する

もっともシンプルなcherry pickは、コミットを指定します。

// 特定のコミットをピックする
git cherry-pick 37dba8d

これを「範囲で」指定するには、「COMMIT_A..COMMIT_B」を記述します。このときAはBよりも古いコミットを指定します。これが逆になると失敗しますのでご注意下さい。

// 37dba8d の次のコミットから、id8b6d までをピックする
git cherry-pick 37dba8d..id8b6d

もう一つの注意点としては、ピックされるコミットは「COMMIT_Aの次のコミットからCOMMIT_Bまで」となりますので、COMMIT_A自体を含めるには、そのコミットの直前を表す「^」を利用して

// 特定のブランチをピックする
git cherry-pick 37dba8d^..id8b6d

と記述すると、より直感的に指定できます。

参考

閉じる