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?

  • What does git mean?
  • The operation could not be performed because “PROJECTNAME” has one or more tree conflicts
  • Git Log Stat Summary Results Clarification
  • What's the best way to find if a given git commit is in a tagged release
  • reviewing diff caused by a set of commits
  • Mechanism behind packed files
  • For example

    Wrong branch has:

    • Commit a

    • Uncommitted Changes b

    Correct branch has

    • Commit c

    If I do git stash on the wrong branch and git apply stash in the correct branch, will it transfer commit a to the correct branch?

  • Viewing all `git diffs` with vimdiff
  • libgit2sharp what is correct sha to supply to GitHub API merge pull-request?
  • How to thoroughly clean up a ruby on rails project?
  • Tracking changes to my Git configuration?
  • Make gitosis-admin git repository secure
  • perform maven release of child project using git repository and jenkins
  • 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
    

    Workaround

    1. Make a commit with those desired changes.
    2. Checkout to the branch you want those changes to be on.
    3. From that branch git cherry-pick 23h123kjb(<– replace this hash with the one found in a git log specific to the commit you want to bring in)
    4. Profit!

    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”
    Git Baby is a git and github fan, let's start git clone.