Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.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
Linux 丢失了一个git提交_Linux_Git_Gitorious - Fatal编程技术网

Linux 丢失了一个git提交

Linux 丢失了一个git提交,linux,git,gitorious,Linux,Git,Gitorious,我有几周前做的git提交的哈希。我尝试检查它,但它说哈希“与git已知的任何文件都不匹配”。我也在git reflog中查找了它,但在那里没有看到它。我也没有看到我在reflog中做出的最早承诺 我在Gitorious的远程存储库中也找不到丢失的提交。但是,我确实看到了我在Gitorious中进行的最早提交,只是没有看到我正在寻找的提交。很遗憾,您的数据库中不再存在提交。以git lost-found开始,以防散列错误 如果它因为垃圾收集而消失了,那你就倒霉了。如果它因任何其他原因(磁盘损坏、文

我有几周前做的git提交的哈希。我尝试检查它,但它说哈希“与git已知的任何文件都不匹配”。我也在git reflog中查找了它,但在那里没有看到它。我也没有看到我在reflog中做出的最早承诺


我在Gitorious的远程存储库中也找不到丢失的提交。但是,我确实看到了我在Gitorious中进行的最早提交,只是没有看到我正在寻找的提交。

很遗憾,您的数据库中不再存在提交。以git lost-found开始,以防散列错误

如果它因为垃圾收集而消失了,那你就倒霉了。如果它因任何其他原因(磁盘损坏、文件系统错误等)消失,您仍然可以找到提交中的blob


git fsck
可以告诉您git的内部数据库是否存在任何问题。如果没有发现任何问题,请尝试以下操作:

那么旧提交是否会被垃圾回收?您如何确保保留旧的提交,以及您知道如何在垃圾收集发生之前判断保留期是多少?@user994165只是澄清一下,只有无法访问的对象才会被垃圾收集。作为某个分支的祖先的提交是可访问的,并且永远不会被垃圾收集。但是,例如,如果您进行了一次提交,然后通过重置到父级来“撤消”它,那么该提交可能会被垃圾收集。