I found it a lot safer to cherry pick into a new temp branch, test things out, rename the old branch to an archive name, and rename the new temp branch to old name.
That is until I started using graphite, that solved the problem completely for me. The only trick is to never mix graphite and git history editing.
That is until I started using graphite, that solved the problem completely for me. The only trick is to never mix graphite and git history editing.