【发布时间】:2019-10-10 13:47:46
【问题描述】:
我有一个存储库,其中包含来自不同项目的一堆提交,它们不在当前项目的任何分支上。它们只是出现在相互连接的历史记录中,但不连接到项目中的任何分支。
因此,如果我执行git branch --contains <commit hash>,它不会返回任何内容。
(我相信这些是在对远程 gitolite3 存储库进行一些更改并在其状态错误时进行提取时到达那里的)。
我想从提交数据库中删除它们,因为它们根本不属于这里。
我该怎么做?
我在git reflog expire --expire=now --expire-unreachable=now --all 之前和之后尝试过git prune,但它并没有删除它们。我也试过git gc,但也没有用。
这似乎与 Completely remove commit from git database 有关,但我在 reflog 或引用这些提交的分支中找不到任何内容,这会阻止 prune 删除它们。我讨厌只需要从数据库中删除对象,这似乎是一种糟糕的做事方式。
【问题讨论】:
标签: git