filter-branch 历史中删除不该提交的文件
最后更新于:2022-04-02 02:53:44
[TOC]
## 概述
你发现你错误的将一个不应该提交的文件提交,然后已经过了很久,已经累计了无数次提交。
这个时候就可以使用git filter-branch将所有提交全部过滤一遍删除掉那个不应该提交的文件
## 场景
```
//删除所有分支的.vscode文件夹
git filter-branch --tree-filter 'rm -rf .vscode'
//xxx不存在,不报错
git filter-branch --tree-filter 'rm -f xxx'
// 所有分支所有提交
git filter-branch --tree-filter 'rm -rf .vscoe' -- --all
// 只检查password.txt 一个文件
git filter-branch --index-filter 'git rm --cached --ignore-unmatch password.txt'
git filter-branch -f --prune-empty -- --all
```
';