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 ```
';