在分支上工作之后,我将分支推送到了GitHub,后来我意识到我也推送了一个令牌,任何人都不应该看到。但是现在因为env文件在GitHub中,所以我从那里删除了分支,所以没人能看到它,
我试图做
现在,我希望将该分支永久删除,甚至没有人可以还原它。我能做些什么,以便删除该分支的历史记录,而我们不应该具有恢复它的能力。
答案 0 :(得分:0)
简短答案: 一旦删除了一个从远程分支(并且没有合并)的分支,它的提交就消失了。如果您在本地删除分支,则关联的提交将保持可访问状态,直到git的下一个垃圾回收周期运行为止。
如果您不感到厌烦,请继续阅读-
只需确认分支已从远程删除,就可以运行
git push origin --delete branchName
如果尚未删除该分支,则会从远程删除该分支。
现在,前提是您的分支未与任何其他分支合并,如果删除分支,则相关联的提交将释放其指针。提交不会立即被删除,但是它们将保留在那里而没有指针(指针==分支)。这些提交称为悬空提交。
因此,一旦删除了关联的分支,包含令牌的提交将立即悬空。克隆您的存储库的任何人都无法访问该提交,但是该提交将保留在您的系统上,直到git的下一个垃圾回收周期运行为止。并且可以通过git reflog
访问。
一旦git的gc运行,它将清除所有悬空的提交,您将无法再通过任何方式访问它们。