Forkを用いたcherry-pickを行う方法

【前提】
・Fork for Windowsを利用していること(※1)
・cherry-pick(※2)を知っていること

※1 とはいえ、Mac版とかも同じかとは思いますが…
※2 ざっくり書くと、対象ブランチにコミットした内容を他のブランチに反映する際に、手でせっせこコピペ&コミットするのではなく、もう少し機械的に行う作業のこと

【方法】
1.まずは自分がコミットしたいブランチに対してモジュールをコミットする。
2.別のコミットしたいブランチに切り替える。
3.先ほどコミットした対象を右クリックし、Cherry-pick Commitをクリックする。

f:id:yoneyore:20190815232040j:plain
cheryy-pickを実行するための選択方法
4.ポップアップが出るのでOKを選択する。
5.コンフリクトしなければそのままコミットされるので、その後プッシュすればリモートリポジトリに反映できる。コンフリクトした場合は、マージ作業を行い、その後コミット&プッシュすれば良い。

【補足事項】
・マージと比べ、どこから引っ張ってきたのか分からないので、追跡性には乏しい。とはいえ、手作業でブランチ切り替えてせっせこコミットするのと比べれば、段違いである。
・対象コミットの一部分のみをcherry-pickみたいなのは行えない(私がやり方知らないだけかも)ので、コミットする粒度は考える必要がある。但し、小さくし過ぎると、それだけcherry-pickする回数が増えるので、どの様な単位でコミットすべきかはケースbyケースである。
git-fork.com

わかばちゃんと学ぶ Git使い方入門〈GitHub、Bitbucket、SourceTree〉

わかばちゃんと学ぶ Git使い方入門〈GitHub、Bitbucket、SourceTree〉

  • 作者:湊川 あい
  • 発売日: 2017/04/21
  • メディア: 単行本(ソフトカバー)
GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

  • 作者:大塚 弘記
  • 発売日: 2014/03/20
  • メディア: 単行本(ソフトカバー)