Forgot to branch in git, need to move changes from master
This question already has an answer here:
 If not yet committed anywhere ( git status shows a bunch of stuff modified, it's OK if it's "git add"-ed too):  
$ git checkout -b newbranch
 Despite the name checkout this usage (with -b ) does not check anything out.  The -b flag says "create a new branch", so git creates the branch-name and makes it correspond to the current HEAD commit.  Then it makes HEAD point to the new branch, and stops there.  
 Your next commit is therefore on newbranch , which has as its parent commit, the commit you were on when you started modifying files.  So assuming you were on master , and you had these commits:  
A - B - C       <-- HEAD=master
 the checkout -b makes this read:  
A - B - C       <-- master, HEAD=newbranch
 and a later commit adds a new commit D :  
A - B - C       <-- master
          
            D   <-- newbranch
git stash
git stash branch <branchname>
git branch -M master my-branch
and then
git fetch origin refs/heads/master:refs/heads/master
or
git branch master my-branch  (or another ref)
上一篇: Git承诺新分支
