To squash the last 10 commits into 1 single commit:

    git reset --soft HEAD~10 && git commit -m "squashed commit"

If you also want to update the remote branch with the squashed commit:
    
    git push -f


> If your are using the above approach to simplify resolving merge conflicts, then
> I would rather suggest the following approach:
> 
> From your current branch, just do
> 
>     git pull --rebase origin master
This will rebase your branch against master, and conflicts may come max once(instead of multiple times) since all your commits are put on top of master.