I made a mistake when I rebase to a recent commit. ( I forgot to git fetch --all first, then rebase), and I\'ve committed and pushed to the remote branch since.
I successfully removed the duplicate commits. Here is what I did: hard reset to the branching point, pull from origin, start git rebase -i SHACODE (original branching point), pick the commits that I want to keep, git rebase to the current SHACODE.