はじめに
mergeとrebase、2パターンのブランチの統合方法の違いをSourceTreeの画面を使って比較します。
統合前
master
からfeature
を分岐させた状態で同じファイルにいくつかコミットします。統合すると競合が発生する状態になっています。
mergeした場合
masterとfeatureのそれぞれのコミットが、時系列で入れ子の状態になっています。コミットのsha値はそのままです。
rebase(no-ff)した場合
masterの後ろにfeatureがくっついた形です。コミット日付はrebase時点の日付になります。コミットのsha値は元と変わっています。
まとめ
作業人数が多かったり、修正が折り重なってくることを考えると、rebaseの方が後から見てわかりやすいのではと思います。
作業的にはrebaseは一つずつコミットをマージしていくため、コミットの数だけコンフリクトが起こる可能性があり、都度解決していく形になります。mergeはまとめて解決することができます。