Если над проектом Вы работаете один, то делайте так, как Вам удобнее (мне кажется, в этом случае удобно вести просто прямую линию разработки).
Но вот если у Вас над проектом работает несколько человек, то делать rebase в основную ветку в принципе нельзя — Вы принесете кучу проблем своим коллегам. Сделали мердж — всем все видно, у людей нет проблем с впихиванием своей работы.
И я не вижу пробел в большой количестве merge — да, история ветвистая, да, ее сложнее понимать какому-то стороннему человеку, зато видно все, и проект может без проблем для разработчиков масштабироваться.
Могу порекомендовать Вам
вот эту статью, для осмысления workflow.