zoukankan      html  css  js  c++  java
  • Git撤销某次分支的合并Merge

    原文地址:https://blog.csdn.net/feeltouch/article/details/87020141

    问题:

    某天,所有的开发文件已经在dev分支上,但是这时候,线上出了一个问题,需要及时修复,于是从master分支上,拉了一个bug分支,进行处理,master分支本应合并bug分支,结果合并了dev分支,而且还commit,并推到了远端的master分支,这时候才发现出了问题,于是乎,问题就来了

    方法一:无法强推

    1.找到最后一次提交到master分支的commit_id,即merge前的commit_id,也就是目标要回退到的commit_id
    2.执行回退

    git reset --hard commit_id
    #执行完成后,此时本地已经回退到了上一次提交的版本,但是远程仍然是被改变的版本。
    

    3.重新创建一个分支,这时候的分支就是上一次提交的代码

    git checkout -b newmaster
    

    4.推到对应的远程newmaster

    git push origin newmaster:newmaster
    

    5.这个时候相当于备份做好了,接下来就可以删除本地及远端的master分支

    git branch -d master
    git push --delete origin master
    

    6.从newmaster分支,重新在创建master分支,并推向远端

    git checkout -b master origin/newmaster
    git push master:master
    

    7.done!

    方法2:需强推远程

    1.找到最后一次提交到master分支的commit_id,即merge前的commit_id,也就是目标要回退到的commit_id
    2.执行回退

    git reset --hard commit_id
    #执行完成后,此时本地已经回退到了上一次提交的版本,但是远程仍然是被改变的版本。
    

    3.强推远程

    git push origin HEAD --force #远程提交回退
    

    4.done!

  • 相关阅读:
    Salesforce的Developer Console简介
    Apex的对象共享
    GBDT
    熵、条件熵、相对熵、交叉熵
    如何理解最小二乘法?
    SENet
    C++ to_string()
    Gradient Harmonized Single-stage Detector
    如何只反向传播部分样本loss
    Focal Loss和OHEM如何应用到Faster R-CNN
  • 原文地址:https://www.cnblogs.com/meetuj/p/13208690.html
Copyright © 2011-2022 走看看