我的git仓库很大,我想通过删除一些过去添加但已经删除的大文件来减小它的大小,但这些文件仍然存在于git历史记录中。现在我发现了git filter-branch --tree-filter命令。所以我尝试了以下操作:
git filter-branch --tree-filter 'DEL /content/de/files/bigfile.zip' --all
我使用的是 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>...]'
我不知道该怎么办。在当前的工作目录下,该文件确实不存在。但是它仍然存在于历史记录中的几个旧提交中。我的理解是,该命令将从每个提交中删除该文件。
git filter-branch --index-filter 'git update-index --force-remove content/de/files/bigfile.zip' -- --all
- jthill