It's works for me;
- Checkout on commit that is a origin of current branch.
- Create new branch from this commit.
- Checkout to new branch.
- Merge branch with code for stash in new branch.
- Make soft reset in new branch.
- Stash your target code.
- Remove new branch.
I recommend use something like a SourceTree for this.