git filter-branch --tree-filter导致'未知修订版或路径不在工作树中'

gho*_*t23 1 windows git git-filter-branch

我的git存储库非常大,我想通过删除一些大文件来减小它的大小,我过去添加了这些文件,之后已经删除了,但它们仍然在git历史中.现在我找到了git filter-branch --tree-filter命令.所以我试过这个:

git filter-branch --tree-filter 'DEL /content/de/files/bigfile.zip' --all
Run Code Online (Sandbox Code Playgroud)

(我在Windows上).

但是调用此命令的结果是:

fatal: ambiguous argument '/content/de/files/bigfile.zip'': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Run Code Online (Sandbox Code Playgroud)

我不知道该怎么办.在当前工作目录中,该文件确实不存在.但它仍然存在于历史上的几个旧提交中.我的理解是,该命令将从每次提交中删除该文件.

gho*_*t23 6

所以我的版本中的实际错误是,我使用引号而不是引号.似乎,至少在Windows上,你必须使用它们.

也就是说,jthill的评论和Roberto的回答可能为手头的任务提供了更好的解决方案.