我的 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>...]'
我不知道,该怎么办。在当前工作目录中,该文件确实不存在。但它仍然存在于历史上的几个旧提交中。我的理解是,该命令将从每次 提交中删除文件。
最佳答案
所以我的版本中的实际错误是,我使用了单 引号而不是双 引号。看起来,至少在 Windows 上,您必须使用它们。
也就是说,jthill 的评论和 Roberto 的回答可能为手头的任务提供了更好的解决方案。
关于windows - git filter-branch --tree-filter 结果为 'unknown revision or path not in the working tree',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37350595/