Apply stash to different branch
I was accidentally working on the wrong branch. Now I want to transfer all my changes to the correct branch.
If I stash the changes and apply them on the correct branch, will it only add the uncommitted changes to the correct branch or every change/commit from the wrong branch that doesn’t exist on the correct branch?
Wrong branch has:
Uncommitted Changes b
Correct branch has
- Commit c
4 Solutions collect form web for “Apply stash to different branch”
I would do one stash, then reset (mixed so you don’t lose the changes) the a commit, stash that, then change to the correct branch and pop both stashes.
git stash save "b" git reset HEAD~ git stash save "a" git checkout correct-branch git stash pop git commit -m "a" git stash pop
- Make a commit with those desired changes.
- Checkout to the branch you want those changes to be on.
- From that branch
git cherry-pick 23h123kjb(<– replace this hash with the one found in a
git logspecific to the commit you want to bring in)
No it won’t. Commits are not put in the Stash.
I also sometimes just switch branches with my changes uncommitted and unstashed and it also works (not sure if in every case, though).
If your branch doesn’t exist yet:
- git stash branch “new_branch”
if it does:
- git stash branch “temp_new_branch”
- git add “your changes”
- git commit
- git checkout “your desired branch to apply stash”
- git merge “temp_new_branch”
- git push
- git branch -d “temp_new_branch”