My git confessions: Never rebase. Never squash. Avoid like the plague anything that touches/edits/changes commit history.
I like a messy commit history - time spent grooming your commit history robs future you of context and takes mental energy better spent on more interesting things.