Using git I made something like this
git clone git checkout {a rev number tree rev before} (here I started to be in a detached head state) //hacking git comm
Alternatively, you could cherry-pick the commit-id onto your branch.
made in detached head state
git checkout master
git cherry-pick
No temporary branches, no merging.