当前位置: 首页 > news >正文

git 中删除提交历史

在这里插入图片描述

目标,简言之:将绿色的分支,删除掉。

根据图片中的git graph信息,您想删除的是绿色标记的 stash@{0} WIP on main: bc30916 fix(A-test): none(对应提交哈希 bc30916d),这是第二个绿色条目。以下是安全删除该存储记录的步骤:


解决方案(仅删除stash记录,不影响提交历史)

  1. 确认stash列表

    git stash list
    

    应该会显示:

    stash@{0}: WIP on main: bc30916 fix(A-test): none
    
  2. 删除指定stash

    git stash drop stash@{0}
    

    或强制删除(如果遇到警告):

    git stash drop --force stash@{0}
    

在这里插入图片描述

  1. 验证是否删除成功
    git stash list  # 应该返回空结果
    

如果需要彻底删除提交(bc30916 fix(A-test): none

如果您的目标是 同时删除提交历史中的 bc30916d,请使用交互式变基:

git rebase -i bc30916d^  # 从目标提交的前一个开始

在编辑器中:

  1. 找到行:pick bc30916 fix(A-test): none
  2. 改为:drop bc30916 fix(A-test): none
  3. 保存退出(Vim中是:wq

最后强制推送(谨慎操作):

git push -f origin main

关键区别

操作影响范围适用场景
git stash drop仅删除stash记录保留提交历史,仅清理工作现场
git rebase -i删除提交并重写历史需要彻底移除提交(需团队协调)

注意事项

  1. 如果stash@{0}中有未保存的工作内容,请先备份:
    git stash apply stash@{0}  # 恢复内容到工作区
    
  2. 删除stash后无法恢复,请确认无需其中的修改。
http://www.lryc.cn/news/579409.html

相关文章:

  • 代码随想录算法训练营第四十五天|动态规划part12
  • Fiddler中文版抓包工具在后端API调试与Mock中的巧用
  • 应用在核电行业的虚拟现实解决方案
  • Laravel8中调取腾讯云文字识别OCR
  • 【前端开发】Uniapp分页器:新增输入框跳转功能
  • SpringCloud系列(49)--SpringCloud Stream消息驱动之实现生产者
  • Rubber Band Algorithm 应力及反作用力测试
  • 运维打铁: 企业运维开发痛点之解决方案
  • ModuleNotFoundError: No module named ‘onnxruntime‘
  • 【免费.NET方案】CSV到PDF与DataTable的快速转换
  • 图论基础算法入门笔记
  • MySQL 8.0 OCP 1Z0-908 题目解析(18)
  • 深度学习2(逻辑回归+损失函数+梯度下降)
  • 在 VSCode 中高效配置自定义注释模板 (无需插件)
  • Python 中如何使用 Conda 管理版本和创建 Django 项目
  • Flowable多引擎架构搭建方案
  • 车载以太网-IP 掩码 vlan 端口
  • 前端的一些报错
  • Odoo 中国特色高级工作流审批模块研发
  • 编程基础:成员函数
  • 【LUT技术专题】3DLUT压缩-CLUT
  • 朝鲜APT组织使用Nim语言恶意软件对macOS发起隐秘Web3与加密货币攻击
  • .net wpf混淆
  • uniapp 使用ffmpeg播放rtsp
  • QT常用类和模块
  • Qt宝藏库:20+实用开源项目合集
  • Java——初始guava(1)
  • 【python】OOP:Object-Oriented Programming
  • Linux基本命令篇 —— tar命令
  • Redis缓存架构实战