【发布时间】:2021-05-06 11:19:35
【问题描述】:
我最近做了一个交互式 rebase 以从我的 repo 中删除一个特定的提交。但是,我仍然可以使用git show <commit hash> 查看提交的详细信息。如何完全删除此已删除提交的历史记录?
我问的是“如何删除提交的历史记录?”,而不是“如何从 git 历史记录中删除提交”。这不是一个重复的问题。这些建议都不能解决我的问题。
【问题讨论】:
-
该提交是否已推送到远程?
-
git reflog expire --all BRANCH1 BRANCH2 && git prune --expire now -
你认为“提交历史”是什么意思?唯一存在的“提交历史”是提交本身及其子项。因此,删除“提交历史”的唯一方法是删除该提交。
-
这意味着其他东西(例如,一个开放的分支)仍在引用它。