如何删除已经重置但仍显示在历史记录中的git commit?

时间:2019-05-04 21:08:22

标签: git gitkraken pantheon

我需要摆脱已经重置并强行推入原处的提交;每当我拉出或克隆远程仓库时,它们都会不断出现。

我推动了对Pantheon DEV环境的部署,该环境部署在TEST和LIVE环境中。后来,我对某些提交进行了硬重置,并强制将其推入原点。快进,再次克隆存储库时,仍然可以看到我认为已从历史记录中删除的提交。

我无法在git log终端中看到它们,但是我喜欢使用GitKraken直观地查看我的git历史记录,并且它们一直在显示。我试着擦除本地存储库,因为认为这只是本地存储,在万神殿的DEV环境中,他们在强行推入后就消失了。

似乎没有什么可以解决我的问题。请帮忙!我的OCD阻止我忽略它,继续工作并继续添加提交。我需要我的历史记录仅显示HEAD当前所在的提交,而在此之前的提交不可见。

这就是我使用GitKraken打开仓库时的样子-»Screen Shot

1 个答案:

答案 0 :(得分:0)

Git会跟踪数据库中所有的提交(在.git文件夹内),直到最终不再使用它们时将其垃圾回收。诸如GitKraken之类的可视化工具通常会显示通过命名分支或标记可访问的所有提交,无论该分支或标记是本地的还是来自已知的远程存储库。

您可能想要做的是删除链接到您不再感兴趣的提交的分支或标签。这将使它们不再显示在图形工具中,尽管它们仍保留在您的.git中数据库,直到GC为止(这通常是您想要的:避免您遇到的视觉干扰,但是在需要恢复数据时保留数据)。

要删除分支,请查看this post on branch deletion。删除标签的语法是相同的,但是如果您想要标签特定的示例,可以查看this post