git - 管理员可以访问我的 reflog 以恢复提交更改吗?
问题描述
我最近做了一个提交,但它不正确,所以我尝试将其重置为另一个提交。现在我意识到提交包含我们团队所需的信息。GitHub 组织的管理员能否找到该提交(来自 reflog)并从他们自己的计算机上获取所需的信息?它不再显示在 GitHub 上的提交历史记录中 :(。
如果他们能做到这一点,那将非常有帮助,因为我仍在学习 git 并且不想再搞砸任何事情。
解决方案
可能不是。管理员可能无法访问您计算机上的 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 做出贡献并广泛使用它,因此它对新手和高级用户都很有用。
推荐阅读
- css - 当 minmax 为: minmax(auto, auto) 时会发生什么
- python - 如何使用 Python 的 Interactive Brokers (IB) API (ib_insync) 复制括号定单功能
- python - 替换 pyspark 数据框中列名中的字符
- javascript - 使用 Pm2 将 .env 文件复制到多个主机
- java - 如何获取 java 对象的字段类型和值?
- wix - Wix 安装程序 - 安装到映射的网络驱动器时出现问题
- render - Ant design Table 不会使用 Nextjs 重新渲染
- machine-learning - 了解 LSTM 架构中的密集层(标签和 logits)
- xamarin - 用户在应用程序中崩溃。我不明白是什么原因
- python - 也是第二个字符串中的子字符串的最长前缀