git - 摆脱无法达到的提交

时间:2014-10-29 09:26:14

标签: git

我正在尝试清理我的存储库并删除无法访问的所有内容。

我做了

git reflog expire --expire=now --all
git fsck --full --unreachable
git repack -A -d
git gc --aggressive --prune=now

但我仍然有一些提交无法通过我的理解而不是git的

我有一些提交,让我们说A

git branch --all --contains A
git tag --contains A

什么都不返回

git fsck --full --unreachable

也不返回任何内容,因此不会将A视为无法访问。

我错过了什么?

1 个答案:

答案 0 :(得分:3)

实际上,我找到了它!

那是 refs / original / mybranch 参考,仍然可以保持我的提交。

这些原始引用是在 git filter-branch

期间创建的
git branch --all

不包括它们。

我之所以没有找到它们,是因为它们在 .git / refs / original 文件夹中丢失了。

我在 .git / packed-refs 文件中找到了它们。我刚刚从该文件中删除了那些分支并再次清理了存储库。