I would like to preserve my current branch's history, but add a new commit which changes the state of the branch to match another branch — essentially overwriting or resetting the files in my current working directory to the state they have in the other branch, so that I can then create a new commit. How do I do this?
I can't do a cherry-pick because that would try to apply the diff between the specified commit and it's parent onto the current HEAD.