Take all my changes on the current branch and move them to a new branch in Git

后端 未结 3 1069
梦谈多话
梦谈多话 2020-12-22 18:30

I started work on what I thought would be a minor bug fix on my master branch. However, it has spiraled out of control to the point where I wish I had created a separate bra

相关标签:
3条回答
  • 2020-12-22 19:04

    If you are trying to move the work from master to a branch that already exists, but is behind master, git won't let you switch to the other branch. In this case, do this:

    git stash
    git checkout oldBranch
    git merge master
    git checkout master
    git stash apply
    git checkout oldBranch
    
    0 讨论(0)
  • 2020-12-22 19:05

    If you haven't been committing anything yet, you're already in the right position.

    1. Create a new branch: git checkout -b edge
    2. Your files haven't changed. Just git add what needs to and commit as usual.
    3. When you're done committing on edge, switch back to master with git checkout and git merge edge.
    0 讨论(0)
  • 2020-12-22 19:07

    To add to JB's answer, if you have already started to make a few commits on master for what ended up as being a "edge" effort, you could:

    git stash
    git checkout -b edge master
    git branch -f master SHA1_before_your_commits
    git stash apply
    
    0 讨论(0)
提交回复
热议问题