ブランチを切り忘れて、複数の対応が含まれてしまったブランチから特定の対応を含んだブランチを作成してプルリクを作りたくてcherry-pick
について調べてのでメモφ(..)
やりかた
前提
今回は下記のようなdevelop
ブランチに下記のようなコミットログがあった際にead2ed6
と04e6e14
を指定して、review
ブランチに反映させmaster
ブランチにプルリクを出すケースを想定して手順をやってみますφ(..)
特定のコミットをreviewブランチに反映してみる
特定のコミットをreview
ブランチに反映するまでの手順概要は下記のとおりです。
master
をチェックアウトreview
ブランチをmaster
から作成cherry-pick
を使って特定のコミットを反映
ポイントは、cherry-pick
です。cherry-pick
を使うことでコミットを指定し、反映することが出来ます!
git cherry-pick コミットハッシュ
実際に私が作業したコンソールのログが下記です。
$ git cherry-pick ead2ed6 [review 67bbc40] rename snake_case username,schoolname Date: Mon Dec 25 22:39:46 2017 +0900 5 files changed, 17 insertions(+), 11 deletions(-) create mode 100644 db/migrate/20171225133337_change_clumn_name_to_users.rb $ git cherry-pick 04e6e14 Date: Tue Dec 26 22:30:30 2017 +0900 1 file changed, 1 insertion(+), 1 deletion(-)
masterにプルリクを出してみる
先程作成したreview
ブランチをgit push
し、masterにプルリクを出してみます!
特定のコミットのみを含んだプルリクが作成できました(._.)
おわりに
cherry-pick
を使うと特定のコミットを反映することが出来るので、コードレビューの際に主要なコミットだけを含んだブランチを作成してプルリクを出す等、色々とはかどりそうだなと思いましたφ(..)!