JavaEE鸿蒙应用开发HTML&JS+前端Python+大数据开发人工智能开发AI+设计软件测试新媒体+短视频直播运营产品经理集成电路应用开发(含嵌入式)Linux云计算+运维开发C/C++拍摄剪辑+短视频制作PMP项目管理认证电商运营Go语言与区块链大数据PHP工程师Android+物联网iOS.NET

【Java教程】Git实战技巧-如何同时撤回远程和本地分支合并操作

来源:黑马程序员

浏览2008人

2022.07.05

解决思路

如果正在合并代码解决冲突中

git merge --abort      取消代码合并

如果合并完毕并commit提交到了本地仓库

git reset --hard HEAD^   回退到上一个版本
 
后面的选项有四种:
--mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。

--hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交:

--soft 仅仅修改分支中的HEAD指针的位置,不会改变工作区与暂存区中的文件的版本。

如果合并完毕,commit提交到了本地,还push到远程

git revert -m 1 HEAD  回到上一个commit的状态 (或者在git log 中找到对应的合并版本号) 即可撤回合并

git push origin master 撤回合并作为一个新的commit 推送到远程仓库

具体步骤

执行 git log查看日志,找到合并分支对应的版本号

1653809226717.png

develop分支 执行 git revert -m 1 1c3420d0452551040078a830a20c3a4e491b19c8 撤销合并

1653809361719.png

1653809378425.png

执行后会弹出编辑页面,  直接 :wq 保存即可

命令的作用, 撤销合并的操作, 并创建一个新的commit提交记录

1653809612396.png

执行完上面的操作,可以看到3毛的配置回来了,而 的代码被回退

develop分支 执行 git push 将撤销合并推送到远程develop分支

1653809742819.png

远程分支,也仅有3毛分支的代码, 这样就完成了  本地 + 远程 合并分支代码的撤销操作

可以继续修改自己分支的bug问题,修改完毕后将 的代码重新合并到develop分支

切换到feature_task_bobo分支, 修改配置并提交

1653810173592.png

切换到develop分支, 合并 分支代码

1653810354501.png

1653810349251.png

出现冲突, 解决冲突代码,解决完毕后 再次commit and push

1653810460356.png

这样问题就全部解决啦~

执行git log查看状态

1653810748708.png

注意

如果撤销合并操作后, 再次合并代码时, 发现之前参与合并过的代码无法再次合并到develop分支时

可以再一次的在 develop分支  执行 git revert  撤销合并的commit版本号   将之前撤销的 代码找回来即可