shimgo
10/2/2017 - 1:36 PM

ブランチのコミットを他のブランチに付け替える

developで間違えてコミットしてしまったC、Dをmasterにコミットしたい。

master  A-B
           \
develop     C-D-E

まず、masterブランチに切り替えて、C、Dをcerry-pickする。

git checkout master
git cherry-pick C
git cherry-pick D

すると以下のようになる。

master  A-B-C-D
           \
develop     C-D-E

あとはdevelopブランチに切り替えてrebaseすればいい。

git checkout develop
git rebase master

rebaseにより、2つのブランチの共通の親コミットからdiffが取られてコミットされていき、以下のようになる。

master  A-B-C-D
               \
develop         E