首页 > 解决方案 > 管理员可以访问我的 reflog 以恢复提交更改吗?

问题描述

我最近做了一个提交,但它不正确,所以我尝试将其重置为另一个提交。现在我意识到提交包含我们团队所需的信息。GitHub 组织的管理员能否找到该提交(来自 reflog)并从他们自己的计算机上获取所需的信息?它不再显示在 GitHub 上的提交历史记录中 :(。

如果他们能做到这一点,那将非常有帮助,因为我仍在学习 git 并且不想再搞砸任何事情。

标签: gitgithubreflog

解决方案


可能不是。管理员可能无法访问您计算机上的 reflog,他们也无法访问 GitHub 上的 reflog。GitHub 保留 reflog,但用户无法访问它们。但是,它还保留了其他几条推送记录,并且他们的支持团队可以恢复在许多情况下被推送的数据。这不是一个不常见的请求,而且它一直在发生,因为人们是人类并且会犯错误。您所要做的就是让组织管理员写信。

可能更容易的是查看您计算机上的 reflogs 中是否有提交,并查看您想要的数据是否仍然存在。例如,假设您在 branch 上完成了工作foo,您可能会git reflog foo看到分支所在的状态。其中之一可能是您所做的提交。即使您删除了分支,您也可以git reflog HEAD找出最近的更改。

当您找到要查看的提交的 ID 时,例如abc123,您可以git checkout abc123检查该提交,或者您可以git show abc123查看该特定提交而不检查它。如果你找到你想要的提交,你可以用 将它变成一个分支git checkout -b branch-name abc123,这将创建一个branch-name在该提交处调用的新分支。然后,您可以将其推送到其他人可以访问的地方。

最终,犯错并需要返回是很常见的,这就是 reflog 存在的原因。我为 Git 做出贡献并广泛使用它,因此它对新手和高级用户都很有用。


推荐阅读