All Articles

gitで最初のコミットが異なるリポジトリからcherry-pickする

gitで最初のコミットが異なるリポジトリからcherry-pickする手順まとめ。 備忘録です。

cherry-pickしたいコミットがあるリポジトリをremoteに追加

git remote add TARGET git@...
git fetch TARGER

対象ブランチを作成

git checkout -b TARGET-master TARGET/master

対象ブランチにて

git logを用いてcherry-pickしたい最初のコミットと最後のコミットのハッシュを調べ

git rebase -i HASH HEAD

一番上のコミットをpick、残りをsquashにしてgit rebase --continue

コンフリクトしたら適宜なおす。

rebaseが終わったら、rebaseによって作成したコミットのハッシュを記憶

masterブランチに戻り、cherry-pickする

git checkout master
git cherry-pick HASH

これでうまくいくはず。 場合によっては大量のコンフリクトが出ることも。