如何从本地仓库永久删除提交? (因此无法再使用“git reset --hard <hash>”</hash>访问它

时间:2013-04-12 06:30:47

标签: git

我在有两次提交的存储库上做了一些测试。这些中的任何一个都会将头设置为第一个提交,并确保当我执行“git log”时第二个提示不显示。

Alernative 1:
git reset --hard [commit 1 hash]

备选方案2:

git rebase --onto master~1 master~0 master

但是如果我试试这个:

git reset --hard [commit 2 hash]

HEAD返回到提交2(这证明它从未被删除)。如何真正永久删除它?

1 个答案:

答案 0 :(得分:0)

git gc应该做到这一点。默认情况下,它将修剪超过2周的无法访问的提交;您可以使用--prune=<date>覆盖此内容。

运行git help gc以获取有关将会收集垃圾的详细信息。