我想从我的回购中删除一个巨大的二进制提交.
> git log --all -- '*.tiff'
commit 05f03aba18164c736182e612181f99ce04e38845
...
Run Code Online (Sandbox Code Playgroud)
它不是分支机构的一部分......
> git branch --all --contains 05f03aba
> (nothing)
Run Code Online (Sandbox Code Playgroud)
...,它没有被标记指向,并且它不能被reflog引用.(我已经清除了git reflog expire --expire=now --all)
然而,提交以某种方式被引用,因此没有被修剪:
> git fsck --unreachable
> (nothing)
Run Code Online (Sandbox Code Playgroud)
如何找出导致提交的原因?
如果您的提交在 之前到达git log,您只需运行即可git log --source显示从何处到达您的提交。
它可能由 \xe2\x80\x93 的备份引用,请参阅git filter-branch此问题了解更多详细信息:Remove refs/original/heads/master from git repo after filter-branch --tree-filter?