Rebase реально удобная штука, но у меня было пару раз, когда тупо запутался в конфликтах и приходилось откатываться. Так что, лучше не гоняться за чистой историей, если не уверен на 100%. Маленькие коммиты и правильный .gitignore — залог спокойствия, а с ветками проще: удаляй старые, чтобы не захламлять, но если не уверен — лучше оставить на время. Главное — не спешить и не паниковать.