6

我想从我的仓库中删除一个巨大的二进制提交。

> git log --all -- '*.tiff'
commit 05f03aba18164c736182e612181f99ce04e38845
...

它不是分支的一部分...

> git branch --all --contains 05f03aba
> (nothing)

...,它不是由标签指向的,它不能被 reflog 引用。(我已经用 清除了它git reflog expire --expire=now --all

然而,提交以某种方式被引用,因此没有被修剪:

> git fsck --unreachable
> (nothing)

如何找出导致提交被引用的原因?

4

1 回答 1

3

如果您的提交由 到达git log,您可以运行git log --source以显示您的提交是从哪里到达的。

它可能被以下文件的备份引用git filter-branch——有关更多详细信息,请参阅此问题:在 filter-branch --tree-filter 之后从 git repo 中删除 refs/original/heads/master?

于 2012-12-16T12:37:31.383 回答