git回滚错误合并的分支

场景

线上分支:master

你开发的分支:dev1

同时开发的分支:dev2

dev1分支开发的代码已经上线,并且已经merge到master

同时dev2分支也已上线,并且已经merge到master

这时发现dev1的巨大bug,线上版本要把这个分支的代码全部移除。

image

想要达到的效果

我们要撤销所有dev1的合并,并且保留dev2的代码。

同时本地dev1的分支不想删除这些代码,还有在这基础上开发。

master分支

如果使用reset,那么线上的几个提交记录都不会保留,达不到我们想要的效果。

这里使用git revert。

首先我们要撤销所有dev1的更改,找到dev1的两次commit id

git revert 63db9b1228c9e38a015513f834a42fa55002fca8
git revert a407174c5df3e47e1866663e4c3fe611419eb5a8

此时master已经达到我们想要的效果:

image

开发分支

这时回到我们的dev1分支,修复bug,我还要保留以前提交的代码。

但是在上线前总要先merge master,但是master的两次revert是领先你的,一旦merge后你的代码就没有了。

下面是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值