博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转】git 删除commit
阅读量:5234 次
发布时间:2019-06-14

本文共 787 字,大约阅读时间需要 2 分钟。

 工作中有一次不小心提交了不该提交的代码到GIT上,而且在发现之前又提交了几个commit,现在想在GIT服务器上永久删除这个commit,具体步骤记录如下。

 

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

commit_id_1commit_id_2commit_id_3commit_id_4commit_id_5....

 

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

git checkout -b developgit push orign -u develop

 

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

git reset --hard 

 

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

git push orign HEAD --force

 

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

git cherry-pick commit_id_3git cherry-pick commit_id_1git push orign develop

 

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

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

 

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

 

参考:

    

    

转载于:https://www.cnblogs.com/wuzhiyi/p/5408686.html

你可能感兴趣的文章
Python列出文件夹中的文件
查看>>
PowerDesigner生成Oracle格式的SQL时去掉字段名的双引号
查看>>
(转载)关于Linux C函数strtok的使用要点
查看>>
C#委托、事件剖析(上)
查看>>
P1631 序列合并
查看>>
Luogu_4886 快递员
查看>>
通过段调优顾问帮助解决行链接问题
查看>>
内存优化文章链接
查看>>
ext4.0 代理 的使用
查看>>
数据检查约束类型和语法
查看>>
AngularJS实战之路由ui-view
查看>>
使用jQuery+huandlebars防止编码注入攻击
查看>>
C#的托管与非托管大难点
查看>>
[转]HTTPS简谈
查看>>
(图片)jsp上传图片,进行缩放处理
查看>>
集合类List,set,Map 的遍历方法,用法和区别
查看>>
HDU-2577-How to Type
查看>>
java日志框架之logback——布局详细说明书地址
查看>>
Java Selenium (十二) 操作弹出窗口 & 智能等待页面加载完成 & 处理 Iframe 中的元素...
查看>>
Scala入门系列(十):函数式编程之集合操作
查看>>