DEV Community

d.yoshimitsu
d.yoshimitsu

Posted on

【Git】ちょっと難しいリベースの挙動

複数ブランチに対する git rebase

A---B---C---D master \ X---Y---Z dev \ P---Q dev2 

devブランチをmasterブランチの先頭に移動

$ git rebase master dev 
 X'--Y'--Z' dev / A---B---C---D master \ X---Y---P---Q dev2 

'はリベースによって作られた、既存のコミットを書き換えた、新しいコミットを表しています。

dev2ブランチがコミットBから作られたことになりました。

マージを含むブランチに対する git rebase

 P---M---N dev / / X---Y---Z / A---B---C---D master 

devブランチをmasterブランチの先頭に移動

$ git rebase master dev 
A---B---C---D master \ X---Y---Z---P---N dev 

マージコミットであるMが消えました。

リベースは難しいよというお話でした。(マージを使いませんかと主張したい)

Top comments (0)