git合并错分支还原技巧

如果合并错了,但是还没有push,还原的简单粗暴的方式就是把合并后的分支删了。

本文主要讲的是git合并错分支并且已经push了的还原方式

比如:开发分支future_1,合并到项目组共同使用的分支develop上了,并且已经push了,后来才发现,此时需要还原develop分支

1.查看git log找到错误合并的版本号,作为下一步的 回滚版本号

git log --pretty=oneline 

如果以上命令找不到可以使用该命令

git log --oneline --merges

2.进行reset操作

git reset --mixed 回滚版本号

idea上对应的操作如图,在commit的节点上右键

git合并错分支还原技巧_第1张图片git合并错分支还原技巧_第2张图片

该步骤操作,会将错误合并之后 又在该分支修改的代码放如到暂存区,这样,后续修改的代码不会丢,HEAD也指向了 回滚版本号

注意:如果push后并没有其他修改,只是将develop分支还原到合并前,那么,3、4、5步不用做,直接做第6步即可

3.将内容暂存

git stash save "暂存描述"

错误合并分支后,可能又在分支上提交了很多其他的代码,这些代码不能丢

idea上对应的操作如图,在编辑区右键

git合并错分支还原技巧_第3张图片git合并错分支还原技巧_第4张图片

4.还原到HEAD的父commit

git reset --hard HEAD^ 

idea上对应的操作如图:

git合并错分支还原技巧_第5张图片git合并错分支还原技巧_第6张图片

5.将暂存的内容还原。分以下两步

git stash list 

查看暂存的内容,通过暂存描述,找到第3步中暂存的编号。

git stash apply stash@{2}

将暂存的内容还原到工作目录,其中stash@{2}需要更换为你所要还原的stash编号

对应的idea的操作如下:

git合并错分支还原技巧_第7张图片git合并错分支还原技巧_第8张图片

6.强推分支

将代码commit之后强推分支,或者将该分支作为新的开发分支。注意,强推分支一定要保证在这个过程中没有其他人push代码,否则别人push的代码会丢失。

你可能感兴趣的:(git,git)