git-branch - Git commit to new branch - 用Git将最近提交的内容移动到一个新的分支。

Git push to another branch / git / branching-and-merging

我想把最近几次提交给master的内容移到一个新的分支上,然后把master移回到提交之前。不幸的是,我的Git-fu还不够强大,有什么办法吗?

即:我怎样才能从这个。

master A - B - C - D - E

到这个?

newbranch     C - D - E
             /
master A - B 

itzmebibin



Answer #1

然而另一种方法,只需使用2个命令。还能保持当前工作树的完整性。

git checkout -b newbranch # switch to a new branch
git branch -f master HEAD~3 # make master point to some older commit
git checkout -b newbranch #切换到新分支
git push . +HEAD~3:master #使master指向一些较旧的提交