Git从历史记录中删除大二进制文件 - 但保留标记

时间:2011-10-31 20:34:27

标签: git tags binary history

这已在Stack Overflow上多次发布,但没有一个答案包括如果你有标签该怎么办。

我的问题是我使用

清除了每个分支的二进制文件
git filter-branch -f --index-filter 'git rm -rf --ignore-unmatch audio_samples' HEAD

这似乎工作得很好,但我的存储库没有变小!即使我尝试了

git clone file:///path/to/project1 project1clone

它仍然是相同的大小。

只有当我签出标签时,才意识到二进制文件仍在被引用。好的,所以我删除了所有标签,现在新的克隆仓库更小了。但是,我需要我的标签,所以我恢复到我的项目目录的备份版本,现在回到正方形。如何使我的标签不引用大型二进制文件的提交,但仍然指向它们应该在哪里?

1 个答案:

答案 0 :(得分:2)

您的命令只会重写HEAD。尝试使用-- --all代替HEAD