这个问题已经在Stack Overflow上发表了很多次,但是没有一个答案包括如果你有标签该怎么办。
我的问题是我使用
从每个分支清除了一个二进制文件。git filter-branch -f --index-filter 'git rm -rf --ignore-unmatch audio_samples' HEAD
这似乎工作得很好,但我的存储库没有变得更小!即使当我尝试
git clone file:///path/to/project1 project1clone
它仍然是相同的大小。
只有当我签出一个标签时,我才意识到二进制文件仍然被引用。好了,我去掉了所有的标签,现在一个新的克隆库更小了。然而,我需要我的标签,所以我恢复到我的项目目录的备份版本,现在又回到了起点。如何使它使我的标签不引用一个提交与大的二进制文件,但仍然指向他们应该在哪里?
您的命令只是重写HEAD
。试着用-- --all
代替HEAD