专栏首页程序手艺人git commit 删除中间提交的错误commit id

git commit 删除中间提交的错误commit id

描述

经常会遇到提交多个commit ,最后发现版本有问题,需要删除中间的一个commit, git 中并没有提供现成的命令,需要多个命令组合完成该功能.

实现

  • 首先用git format-patch -n -m,生成n-m个补丁文件 000(n-m)-commit-msg.patch,
  • git reset –hard commit id 退回至删除commit之前的id
  • 依次打之前生成的补丁 patch -p1 < 0001-commit-msg.patch
  • git add / git commit 提交

问题

  • 打补丁的时候patch 只使用文本文件, 如何有二进制文件需要用git apply -p1 < 0001-commit-msg.patch

参考

参考1 参考2 参考3

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Git 修改已提交的邮箱和用户信息

    实际过程中有的时候本地配置信息邮箱有误,导致git commit 提交作者的信息有误,这个时候就需要进行修改

    程序手艺人
  • 程序员如何用GitHub打造个人博客(二)

    上一篇程序员如何用GitHub打造个人博客(一) 介绍了如何搭建静态网页的博客,包括如何发布文章等等.这篇主要介绍升级NexT主题. 

    程序手艺人
  • [ 物联网篇 ] ESP32 开发板测试亚马逊语音助手Alexa

    ESP32 是一套 Wi-Fi (2.4 GHz) 和蓝牙 (4.2) 双模解决方案,集成了高性能的 CPU 内核、超低功耗协处理器和丰富的外设。ESP32 采...

    程序手艺人
  • git的七个重要基本原则

    Linux 的中心原则是,所有更改都必须分解为小步骤进行 —— 您的每个 commit 都只能做一件事。这并不意味着每个 commit 都必须很小,比如对在数千...

    薛定喵君
  • 不应面向对象地针对业务行为建立模型!

    在过去的几年中,我看到许多项目将几乎任何类型的业务需求都喜欢建立与需求原因无关的技术对象模型(后面可能简称对象模型)。在很多情况下,针对技术对象建立业务需求模型...

    小小科学家
  • 完美的执行计划导致的性能问题(r4笔记第17天)

    今天现场的开发同事反馈有一个job处理数据的速度很慢,从半夜2点开始运行,结果到了早上8点还没有运行完,最后无奈kill掉了进程。等我刚到公司,他们想让我查查倒...

    jeanron100
  • 进了小公司的应届生,如何翻身进大公司?

    但是,从业几年,我对整个行业的大环境还是有所了解的,身边有不少BAT,或稍差一些的公司的前同事,多少也和他们沟通过。

    闰土大叔
  • Rex-Ray配置VirtualBox backend

    【2】然后创建并编辑 REX-Ray 的配置文件 /etc/rexray/config.yml

    zhaotingrui
  • 【前沿】微软人工智能取得新进展

    去年我们报道一组实习生在微软研究院创造了一个自动字幕系统,让机器观察图像和描述其中内容。自那时以来,该项目持续发展,而且现在成为微软研究院整体战略的一个核心部分...

    机器人网
  • 让代码更优雅:JAVA代码不同JDK版本的不同写法

    JDK不同版本有不同的特性,我刚毕业时候JDK1.8(8)已经出现了,但是大多公司还在用1.6(6),后面陆续出现了9、10、11、12,但是大多公司仍然坚守在...

    品茗IT

扫码关注云+社区

领取腾讯云代金券