You can strip the changesets from the Bitbucket repository. Go to
https://bitbucket.org/<user>/<repo>/admin/strip
and you'll get a chance to enter a revision to strip. The revision number you enter plus all its descendants will be deleted from Bitbucket. So if you enter 0
, then all changesets will be removed from the remote repository.
This brings you back to the clean slate you had when you first created the repository on Bitbucket and you can now push your code again.
The settings for the project remain intact (issues, wiki) and any existing forks also remain. People who've forked your project will have to do the same strip operation — you have to coordinate this with them and this is the reason why editing history is hard. Bitbucket warns you about this by telling you the number of works right on the strip admin page.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…