Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git重置后完全删除git对象_Git - Fatal编程技术网

git重置后完全删除git对象

git重置后完全删除git对象,git,Git,我试过了 但是它没有帮助,我仍然能够通过哈希代码进行签出。除其他外,您还需要使头的reflog过期,以便取消对提交的引用。您链接到的命令不起作用,因为默认情况下,git gc不会删除少于两周的任何内容,因此,您需要指定要删除所有内容: git reflog expire --expire-unreachable=now git gc --prune=now 对git prune的调用是多余的,因为git gc无论如何都会调用它。对git fsck的调用仅用于显示目的,无需运行 请注意,这些命令

我试过了


但是它没有帮助,我仍然能够通过哈希代码进行签出。

除其他外,您还需要使
头的reflog过期,以便取消对提交的引用。

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

git reflog expire --expire-unreachable=now
git gc --prune=now
git prune
的调用是多余的,因为
git gc
无论如何都会调用它。对git fsck的调用仅用于显示目的,无需运行


请注意,这些命令将导致无法恢复任何其他无法访问的提交,当然,reflog将被清除,使得它的任何优秀回滚功能在过去的历史中都不可用。

git reflog--expire unreachable=now致命:无法识别的参数:--expire unreachable=now正确的语法似乎是:git reflog expire--expire unreachable=now不幸的是,在gc之后我仍然能够签出是的,你是对的,我已经更新了。有问题的提交散列是否出现在
git fsck--unreachable
?确保您没有引用提交
git标记--contains
git分支-a--contains
,然后重新打包。您可能需要将
--rewrite
选项添加到
git reflog expire
,请参阅,以获取更多有关从Reflogo中过期的内容的信息。您可以解释如何使HEAD的reflog过期吗?是:git reflog expire--expire unreachable=now除了使用
HEAD
之外,它与
refs/heads/master
的命令相同。请注意,除非丢弃的提交占用大量磁盘空间或存在安全风险,否则您可以忽略此操作,它最终会自行处理。
git reflog expire --expire-unreachable=now
git gc --prune=now