A rebase rewrites commits, so anyone who already fetched the originals now has two versions of the same work; merging their branch back brings the old ones along. That is why rebasing is for commits you have not shared. Rebase pushes nothing on its own, applies each commit once, and the remote never restores anything by itself.
Official docs