【Git】 mergeとrebaseの使い分け

mergeとrebaseは共に履歴を統合しますが、特徴が異なります。

merge
変更内容の履歴はそのまま残るが、履歴が複雑になる。

rebase
履歴は単純になるが、元のコミットから変更内容が変更される。そのため、元のコミットを動かない状態にしてしまうことがある。


mergeとrebaseは、チームの運用方針に応じて使い分けます。例えば、履歴を一本化するように運用をするのであれば
トピックブランチに統合ブランチの最新のコードを取り込む場合はrebaseを使う
統合ブランチにトピックブランチを取り込む場合は、まずrebaseしてからmerge
というように使い分けます。