Git-恢复丢失的提交

Git-恢复丢失的提交,git,Git,随着我所在团队的成长,我们已经看到了一些由于合并错误而丢失提交的情况 我们已经在进行教育方面的工作,但是当这种情况发生时,git中恢复丢失的提交的最佳方法是什么?我听说过使用诸如git bisect之类的命令并手动签出每个提交。还有什么其他的帮助吗?看起来你需要看起来你需要git reflog可以用来找出提交的提交哈希值,这些提交哈希值不再在任何分支上,但还没有被gc'ed。git reflog可以用来找出提交哈希值,这些提交哈希值不再在任何分支上,而是在其他分支上尚未收到gc'ed。感谢您的回

随着我所在团队的成长,我们已经看到了一些由于合并错误而丢失提交的情况


我们已经在进行教育方面的工作,但是当这种情况发生时,git中恢复丢失的提交的最佳方法是什么?我听说过使用诸如
git bisect
之类的命令并手动签出每个提交。还有什么其他的帮助吗?

看起来你需要

看起来你需要

git reflog
可以用来找出提交的提交哈希值,这些提交哈希值不再在任何分支上,但还没有被gc'ed。

git reflog
可以用来找出提交哈希值,这些提交哈希值不再在任何分支上,而是在其他分支上尚未收到gc'ed。

感谢您的回复。我将尝试这些,并在下次遇到这样的场景时给出一个总结。感谢您的回复。我将尝试这些方法,并在下一次遇到这样的场景时给出一个总结。除了检查对象的有效性和连接性之外,您能详细说明一下这项功能吗?从git fsck的手册页:
将悬挂对象写入.git/lost-found/commit/或.git/lost-found/other/,具体取决于类型。如果对象是blob,则内容将写入文件,而不是其对象名。
除了检查对象的有效性和连接性外,您能否详细说明这项操作的作用?从git fsck的手册页:
将悬挂对象写入.git/lost-found/commit/或.git/lost-found/other/,具体取决于类型。如果对象是blob,则内容将写入文件,而不是其对象名。
似乎reflog只存储本地活动,在远程设备上不太可用。似乎reflog只存储本地活动,在远程设备上不太可用。