zoukankan      html  css  js  c++  java
  • Git永久删除commit--[非教程]

        假设当前分支为master,当前的commit情况如下,现在需要删除commit_id_2和commit_id_4:

    commit_id_1
    commit_id_2
    commit_id_3
    commit_id_4
    commit_id_5
    ....

    一、创建新的分支,用于reset操作

    git checkout -b develop
    git push orign -u develop

    二、在新分支develop上,将commit重置到commit_id_4之前的提交

    git reset --hard <commit_id_5>

    三、提交新分支,覆盖之前的commit信息

    git push orign HEAD --force

    四、按原有的顺序恢复不需要删除的commit,然后提交

    git cherry-pick commit_id_3
    git cherry-pick commit_id_1
    git push orign develop

    五、删除原有的master分支,从develop中checkout一个新分支作为master

    git push orign --delete master
    // 或者 git push orign :master
    // 注意:master一般是默认分支,你需要先将默认分支设置为develop才能删除
    
    git checkout -b master
    git push orign -u master
    // 最后将master重新设置为默认分支

    操作比较繁琐,但是比较保险,如果有什么好方法,可以分享一下。。

  • 相关阅读:
    Cookie和Seesion
    Forms组件
    分页器组件
    关于Django的Ajax操作
    Oracle常用数据库表操作
    redis的缓存穿透 缓存并发 缓存失效
    Struts2的拦截器
    Struts2的各种标签库
    Struts2基础知识
    Java常用数据结构和算法
  • 原文地址:https://www.cnblogs.com/jeremylee/p/5542176.html
Copyright © 2011-2022 走看看