背景
forkして開発したX-Yなcommitを本流にmergeしてもらった時
X-Y
/ \
...-A-B-C-D-...
こんな感じになる。
ここのX-Yの一連のcommitをcherry-pickしたい時、
git cherry-pick X Y
すればいい話ではあるけれど、forkした後の開発が長かったりするとめんどくさいし、merge自体をごそっとcherry-pick出来ないものか。
出来ます
git cherry-pick -m 1 D
これでおk
ちなみに
git cherry-pick -m 2 D
すると、forkして開発していた間に進んだ本流のcommit分をcherry-pick出来る。
つまり、
git cherry-pick B C
と同等の変更が出来る。
参考
revertも同じみたい