项目描述:git
本地有master分支,dev分支。从dev分支中新建了三个任务,小1,小2,小3。这三个任务完成后感受没问题了,就勤快的把它们都合并到了dev分支中。开开心心去睡觉了。spa
次日,项目经理说小1,小2都很差看,如今只要小3,你把小3合并到dev推送到远程吧!个人天哪!这应该怎么办。。。日志
在dev建立了三个分支小1,小2,小3rem
每个分支都建立了本身的文件夹如图it
而后都提交了本地代码如图,依次提交小1,小2,小3,三个分支三个颜色,而后按照顺序展现,这个图仍是不错的。ast
如今就是合并代码了,用dev去合并小1,小2,小3。class
工做目录里就有了小1,小2,小3。im
而后就是删除小1,小2,小3分支。项目
好了如今怎么办!领导说dev里只能有小3!img
解决思路:
首先要回滚到最初建立这三个分支的起点那里,而后就是把小3分支恢复出来,在单独合并一下小3分支就能够啦。
一、回滚的命令很是简单,目标也就是图中备注为工做的那个节点(6e5b23e)。
git reset --hard 6e5b23e
二、找回小3的分支。你如今都没有日志,因此须要一个能看全部日志的命令 reflog
git reflog
这里找到了小3的提交id,就用它检出一下小3来。
git checkout c08e83a
他这里的意思是如今是一个游离的状态,让新创建一个分支,命令都给写好了。git checkout -b 新的分支名字
git checkout -b 新小3
这样小3的分支就恢复回来啦!
而后再进新dev的合并就能够了!大功告成!