不小心在自己分支上合并了预发分支代码如何做?

还在地铁上都已经被催着预发了,来到工位上头脑还不清晰就还是合并分支了,去预发分支先拉然后去自己分支,鬼使神差的在自己分支上把stg给合上了,omg,我是谁,我在干什么?开工没有回头箭啊
立马去找解决方案

 git reflog 查看分支提交历史记录

会出现下边这种情况

bd34d23 HEAD@{0}: merge stg: Merge made by the 'recursive' strategy.
a1b2c3d HEAD@{1}: commit: Some other commit message
x3y4z5w HEAD@{2}: commit: Another commit message
...

然后这样重置

git reset --hard a1b2c3d

在我自己分支上虽然看不到stg存在的新代码了,但是我试着去pr到master分支还是能看见我这个分支上有stg新代码,我还没提交,我就git push origin >我自己分支,报错。
然后又去搜:让强制推送

git push --force origin <branch-name>

这时候再pr就只有自己在自己分支上修改的文件了。

为什么不能在自己分支上合并预发分支?
我个人理解哈,虽然这不影响我们自己的预发,但是这影响上线,我自己分支上有别人预发分支代码,万一别人的有问题,我到时候自己上线就会带着别人的,所以自己分支上必须只能有自己修改的代码。

你可能感兴趣的:(git)