You can use git rebase to reduce your commits to a/some single commit/s before you push it to remote.
In example: You are working locally on a feature for your "awesome-module". After some days you are ready. You are a good programmer, so you have now a lot of commits of your development stages. ('Adding File ...', 'Fix bug in line ...', ..., 'Clean up')
You decide to not pollute you Github-repository with all this partials and rebase the local changes to the most important. It's only a single feature so you make a fast rebase to a single commit and push it up to Github.