1. 9
  1.  

  2. 1

    Another safe alternative to git push --force is Mercurial Evolve. Basically, you add metadata to your DAG which marks commits as being replaced by other commits, and you push this append-only metadata around in a distributed, collaborative way. Newcomers who do not care for old history do not get all of the pre-edited commits, so the pre-edited history gradually fades away and nothing is ever overwritten.