In Git, is there a way to merge all changes from one branch into another, but squash to a single commit at the same time?
I often work on a new feature in a separate branch and will regularly commit/push - mainly for backup or to transfer what I'm working on to another machine. Mostly those commits say "Feature xxx WIP" or something redundant.
Once that work is finished and I want to merge WIP branch back into master, I'd like to discard all those intermediate commits, and just a have a single clean commit.
Is there an easy way to do this?
Alternatively, how about a command that squashes all commits on a branch since the point where it was branched?