Git で特定のコミットだけをマージする


先日、あるブランチ上で新しいファイルを追加するコミットをした後、別のブランチでも同じファイルを追加したいという状況がありました。

もちろん、改めて別のブランチを checkout してファイルを追加すれば良いわけです。しかし、2つのブランチに対して同じ修正を施したいケースは、ファイルの追加に限らず今後も発生し得ると思ったので調べてみました。

すると、cherry-pick というコマンドがまさしくそのコマンドであることがわかりました。

使い方も簡単です。例えば

のようになっていて、branch1 のコミット c を、branch2 の e にも適用したいという場合。

のようにすると、

のように、コミット c と同じ修正を e に適用できます。この時、merge とは違って、コミット b は適用されません。

[参考にしたサイト]
git-cherry-pickを掘り下げる