windows - git filter-branch --tree-filter 结果为 'unknown revision or path not in the working tree'

标签 windows git git-filter-branch

我的 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/

相关文章:

jquery - Windows 应用程序是否可以与网页交互?

git - 如何在git中找到分支的起源?

git - 在 git 中,我会失去 promise 的工作吗?

git - 如何正确切换GIT分支并返回到后面的工作。

git - 如何从包含子模块的 git 存储库中 rebase git submodule 保留对子模块提交的引用?

重命名文件夹后的 Git 过滤

windows - 通过CMD自动重启无响应程序

C++ 全局变量

git - 在工作树层次结构中向上移动 .git 文件夹

c++ - Gdiplus::Bitmap::Lock/UnlockBits 总是复制数据吗?