I wish I could downvote purely on the basis of that hateful "Keep Calm" meme.
There's nothing wrong with, say, creating three local commits on master, "rebase -i"ing them into one commit, and then pushing.
The author has completely missed the point of what can and can't be rebased.
In this workflow there is no pushing to master because you never work on master. So there is no reason to ever rebase master. Master is always assumed to be published history.
I'm assuming that you have someone else apart from you sync'ing with your master. But even if you know that nobody else uses your software (so far), I would still recommend, as a good practice, to stay away from rebasing master.
Work on feature branches, rebase them, and merge them. Once in master, you don't rebase anymore.