主に技術的なことを書くブログ

浅めにマークアップ&フロントエンドの技術的なことをメモしていましたが、ざっくばらんに書いています。

あのコミットのファイルだけこのブランチ取り込みたいときは git cherry-pick

develop ブランチでいろいろごにゅごにょしたあとに、masterにマージしたい。 でも、マージしちゃいけないコミットも混ざってる。

そんなときは、 git cherry-pick を使うと、別のブランチで作業したコミットファイルを取り込めます。まさにチェリーをピックするかのように。

まず、取り込み元のブランチにチェックアウト。(developで作業してるとしたら)

git checkout master

取り込みたいコミットIDでチェリーピックするだけ

git cherry-pick 10ee5a12358a906e2092b5c921bef0a54c35ba6e

-n つけるとコミットせずにチェリーピック

git cherry-pick -n 10ee5a12358a906e2092b5c921bef0a54c35ba6e

コンフリクト起こしたら、解決してコミットすればよし。

がっつりプログラムを触らないデザイナーにとっては、git stash に続いてめっちゃ使えそうですが、ひとつ注意点があります。

それは、チェリーピックしてきたコミットは元のコミットをもってくるのではなくて、新たにコミットを作成するという点。

あとあとブランチをマージするときに、差分がないはずなのにコンフリクトが起きたりすることもあるので、使いどころには気をつけましょう。使いどころは僕もよくわかってないですが。

参考:4. cherry-pick【チュートリアル3 コミットを書き換えよう!】 | サルでもわかるGit入門 〜バージョン管理を使いこなそう〜 | どこでもプロジェクト管理バックログ