Rebase — это как ездить без страховки: вроде полезно и эффектно, но если не научился, можно головой об стену. Лучше уж пару лишних коммитов, чем потом часами ковыряться в истории и искать, что сломал. А с .gitignore вообще без вариантов — это твоя первая линия обороны от хаоса в репе.