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来将更改推送到远程仓库。请记住,在重写提交历史时要小心,确保你理解操作的影响。最好在执行之前备份仓库数据。

相关推荐
SelectDB14 小时前
秒级弹性、最高降本 70%:SelectDB Serverless 如何重塑云数仓资源效率
大数据·后端·云原生
WhoAmI14 小时前
MapReduce框架原理解析一:InputFormat
大数据·hadoop
WhoAmI14 小时前
MapReduce框架原理解析三:OutputFormat
大数据·hadoop
WhoAmI14 小时前
MapReduce框架原理解析二:Shuffle
大数据·hadoop
大大大大晴天2 天前
Hudi技术内幕:Key Generation原理与实践
大数据
Elasticsearch2 天前
3个信号、2个环境变量、0个采集器:使用 Python 和 Elastic 的托管 OTLP 端点实现 OpenTelemetry
elasticsearch
Elasticsearch4 天前
如何通过 Claude Code 来写入 CSV 数据到 Elasticsearch
elasticsearch
得物技术5 天前
从埋点需求到规则资产:Hermes Agent 重构得物数仓工作流
大数据·llm·ai编程
深海鱼在掘金5 天前
Git 完全指南 —— 第1章:Git 概览与版本控制演进
git