如何删除分支及其引用的所有对象

时间:2011-05-12 12:57:31

标签: git

问题是,在删除和推送分支后,它不会永远丢失,它仍然在存储库中。 我删除了大量不必要文件的分支,但只要它仍然在git存储库中的某个地方,git clone命令的持续时间太长了。

目前我看到的唯一方法是删除整个存储库并重新创建它,但没有不必要的分支。

2 个答案:

答案 0 :(得分:4)

我相信git gc --prune=now会做你想做的事情:从你的存储库中清理不必要的文件。

默认情况下,git gc会删除超过2周的无法访问的提交,因此您需要添加--prune=now

答案 1 :(得分:3)

您需要使用 git filter-branch

完全删除文件

http://git-scm.com/docs/git-filter-branch

你可以用这个命令做很多魔术,下面将从所有提交中删除文件名:

git filter-branch --tree-filter 'rm -f filename' HEAD