We would like to have all our production releases on one branch. So when we're ready for an RC we want to bring that branch up to date with our development branch, do an RC build and apply hotfixes until we're happy to release that version. While this is happening the rest of our team would continue working on our dev branch.
The trick is, we don't want to merge the changes from our dev branch into this releases branch, we want it to just be an exact copy of the dev branch-so essentially ignoring any prior hotfix/etc work that happens on the releases branch as those would have been pulled into the dev branch anyway. One of the reasons for this is we work with a lot of binary files that don't merge well, the other is that our dev branch would have been more heavily tested and the replace would be much safer.
The final detail is that we do want to still have the old commits and tags in the releases branch, in case we need to hotfix an older version (we would branch for that).
If we can't find a solution to match this our alternative is to have a branch per release, but that seemed messy.