删除 Git 历史提交记录中的大文件

devtools/2025/3/19 12:55:56/

git filter-branch 命令的作用是重写Git仓库历史记录,这里具体用于彻底删除大文件。该命令参数解析:

git filter-branch --force --index-filter "git rm --cached --ignore-unmatch multimodal-transport-system/data/road.geojson" --prune-empty --tag-name-filter cat -- --all

作用说明:

  1. –index-filter 会在每个历史提交中执行 git rm --cached 操作,从Git索引中永久删除:
    • multimodal-transport-system/data/road.geojson 指定要删除的路径
    • –ignore-unmatch 允许文件不存在时跳过报错
  2. –prune-empty 会自动删除因删除文件而产生的空提交
  3. –tag-name-filter cat 会保留并重写所有标签(tag)
  4. –all 表示对所有分支进行操作

最终效果:该文件会从所有分支的历史提交记录中被清除(包括已推送的远程记录),但本地工作目录中的实际文件不受影响。执行后需要使用 git push --force 强制覆盖远程仓库历史。

注意:这会改变项目历史哈希值,执行前请确保已备份仓库,且提前通知所有协作者需要重新克隆仓库。


http://www.ppmy.cn/devtools/168340.html

相关文章

CSS3 背景

CSS3 背景 引言 随着互联网技术的发展,网页设计日益注重用户体验和视觉效果。CSS3 作为 Web 标准的一部分,提供了丰富的样式和动画效果,使得网页设计更加灵活和生动。其中,CSS3 背景功能是网页设计中不可或缺的一部分&#xff0…

【愚公系列】《高效使用DeepSeek》014-行程计划

🌟【技术大咖愚公搬代码:全栈专家的成长之路,你关注的宝藏博主在这里!】🌟 📣开发者圈持续输出高质量干货的"愚公精神"践行者——全网百万开发者都在追更的顶级技术博主! 👉 江湖人称"愚公搬代码",用七年如一日的精神深耕技术领域,以"…

卷积神经网络 - 卷积层(具体例子)

为了更一步学习卷积神经网络之卷积层,本文我们来通过几个个例子来加深理解。 一、灰度图像和彩色图像的关于特征映射的例子 下面我们通过2个例子来形象说明卷积层中“特征映射”的概念,一个针对灰度图像,一个针对彩色图像。 例子 1&#x…

K8S学习之前站五:清理docker的overlay2 目录

overlay2 是 Docker 默认使用的存储驱动,用于管理容器和镜像的存储。随着容器和镜像的增多,overlay2 目录可能会占用大量磁盘空间。清理 overlay2 目录需要谨慎操作,以避免误删正在使用的容器或镜像。 以下是清理 overlay2 目录的步骤和方法…

pytorch小记(十四):pytorch中 nn.Embedding 详解

pytorch小记(十四):pytorch中 nn.Embedding 详解 PyTorch 中的 nn.Embedding 详解1. 什么是 nn.Embedding?2. nn.Embedding 的基本使用示例 1:基础用法示例 2:处理批次输入 3. nn.Embedding 与 nn.Linear 的…

4.从GitHub拉取远程分支到本地

要从GitHub拉取远程分支到本地,可以按以下步骤操作: 1. 方法一:直接拉取并切换到分支 适用场景 远程分支已存在(例如 feature/new-ui),需拉取到本地并自动跟踪。 拉取所有远程分支信息(确保本…

AI+遥感:农作物病虫害实时预警新突破!

引言:一场静悄悄的田间革命 在河南省周口市的麦田里,一架搭载多光谱相机的无人机正在低空盘旋。远在2000公里外的北京国家农业大数据中心,AI系统突然发出警报:北纬33.76、东经114.63区域出现条锈病早期感染迹象,感染面…

【Redis】Redis的数据删除(过期)策略,数据淘汰策略。

如果问到:假如Redis的key过期之后,会立即删除吗? 其实就是想问数据删除(过期)策略。 如果面试官问到:如果缓存过多,内存是有限的,内存被占满了怎么办? 其实就是问:数据的淘汰策略。…