git - git 重置后完全删除 git 对象

标签 git

http://snipplr.com/view/11513/ ,我试过了

$ git reflog expire --expire=1.minute refs/heads/master
$ git fsck --unreachable # now I see those tarball blobs!
$ git prune # hasta la vista, baby
$ git gc # cleanup and repack the repo

但这没有帮助,我仍然可以通过哈希码 checkout 。

最佳答案

您链接到的命令不起作用,因为 git gc 默认情况下不会删除任何少于两周的内容,因此您需要指定要删除所有内容:

git reflog expire --expire-unreachable=now
git gc --prune=now

对 git prune 的调用是多余的,因为 git gc 无论如何都会调用它。对 git fsck 的调用仅用于显示目的,不需要运行。

请注意,这些命令将使其无法恢复任何其他无法访问的提交,当然,引用日志将被清除,使其任何良好的回滚功能都无法用于过去的历史记录。

关于git - git 重置后完全删除 git 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9696136/

相关文章:

java - git-push 命令失败

linux - 将 Git 存储库克隆到 LINUX 计算机时使用的 'standard' 目录位置是什么

git - 如何仅 stash 一些未提交的更改?

php - Laravel 文件结构顶部的 ".phpintel"文件夹是什么?

git - 哪个是更好的提交工具,qct 或 hgct/gct?

python - 没有名为 ib.message 的模块

git - 我可以使用基于 GitHub Web 的编辑器编辑两个文件然后提交一个文件吗?

GIT Pre-Commit Hook 更改文件但不添加提交

python - 如何修改/编辑已安装的 anaconda 包

基于SVN从GitHub上的仓库git checkout到已有的本地仓库