git版本回滚,分支删除后恢复,多分支合并后剔除某个分支。

项目描述: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的合并就能够了!大功告成!

相关文章
相关标签/搜索