git删除历史提交中的某些文件

要从所有提交中删除PDF文件并保留本地文件,你需要使用git filter-repo命令或git filter-branch命令来重写历史。请注意,这将修改提交历史,因此需要小心操作,确保在执行之前备份数据。

以下是使用git filter-repo命令的示例,假设要删除所有PDF文件:

bash 复制代码
git filter-repo --path file.pdf --invert-paths

如果你要删除多个文件,可以使用逗号分隔,例如:

bash 复制代码
git filter-repo --path file1.pdf,file2.pdf --invert-paths

如果你希望使用git filter-branch命令,以下是一个示例:

bash 复制代码
git filter-branch --index-filter 'git rm --cached --ignore-unmatch file.pdf' --prune-empty

在每个命令执行后,你需要使用git push --force来将更改推送到远程仓库。请记住,在重写提交历史时要小心,确保你理解操作的影响。最好在执行之前备份仓库数据。

相关推荐
Elasticsearch2 小时前
Elasticsearch ES|QL:现已支持视图、子查询和读取时模式定义
elasticsearch
嘻嘻仙人17 小时前
Ubuntu中 git上传自己的项目和二次上传一般流程
git·github
Patrick_Wilson18 小时前
Squash Merge 的血缘陷阱:为什么删掉的代码又活了过来
前端·git·程序员
沉浸学习的匿名网友20 小时前
什么是 .gitignore?为什么每个 Git 项目几乎都离不开它?
前端·git
深海鱼在掘金2 天前
Git 完全指南 —— 第3章:理解工作区、暂存区、版本库三个核心
git
江华森2 天前
Git 基础筑基:从原理到团队协作的全栈实战
git
JakeJiang2 天前
Git 必备命令指南:从日常高频到项目开发实战
git
Elasticsearch3 天前
Kibana 中的 SNMP 拓扑数据:从采集到 Canvas
elasticsearch
叫我少年3 天前
Windows 中安装 git
git
大大大大晴天3 天前
Hudi技术内幕:RecordPayload到RecordMerger
大数据