Digamos que você criou um novo branch para trabalhar na questão nº 10:
git checkout -b iss10
Agora você fez alguns commits e está pronto para aplicá-los ao master, mas quer que eles estejam todos em um commit.
git checkout master
git merge --squash iss10
git commit -m "Merged iss10"
Caso você precise mesclar o iss10 no mestre novamente no futuro, agora você deve atualizar o iss10 para base fora do mestre:
git branch -D iss10
git checkout -b iss10
git push -f origin iss10
É isso aí.