通过失物招领恢复丢失的工作
Lost & Found 搜索引用日志、GitTree 的恢复引用以及(如果您询问)无法访问的对象,以查找没有分支再指向的提交。预览每个分支持有的内容,然后将其保留在新分支上。没有任何内容被签出、重置或删除。
适用于 GitTree 免费:所有本地 Git 功能,无需帐户。
开始之前
- 工作是在这台计算机上进行的:Lost & Found 只读取此存储库的本地历史记录,而不会读取远程历史记录。
- Git 尚未对其进行修剪:无法访问的对象将通过垃圾收集删除,并且引用日志条目默认会在大约 90 天后过期。
在哪里可以找到它
- 左侧面板的 TOOLS 部分:Lost & Found。
- 工具栏中的 Tools、存储库选项卡的菜单或 Reflog 对话框:Lost & Found 或
Alt+Shift+D。 - 命令面板:Lost & Found。
| 行动 | macOS | Windows 和 Linux |
|---|---|---|
| Lost & Found | ⌥⇧D | Alt+Shift+D |
| 命令面板 | ⌘⇧P | Ctrl+Shift+P |
步骤
寻找本地工作
勾选 Include a deeper scan for unreachable objects 还可以列出没有指向的提交和文件,例如删除的存储;在大型存储库上速度较慢。按 Find local work。 Stop 结束长扫描。
检查结果
Found work 列出了结果及其来源以及查看时间。 Filter by commit, message or source 缩小范围。选择一项:Why this object appears 显示其证据,提交消息或文件内容如下所示,并且 Files 下的每个文件打开其内容。
把它挂在分支上
在 Keep this commit 下,输入 New branch name 并按 Create recovery branch。 GitTree 说 Created branch …. Your checkout is unchanged.
在图表中显示出来
Recovered 列出了您创建的分支。 Show in graph 关闭 Lost & Found 并选择图表中的提交。
预期结果
提交位于新的本地分支上,因此 Git 保留它。您当前的分支、签出和工作文件保持原样。像其他分支一样合并、挑选或推送分支。
每个来源的含义
| 来源 | 它包含什么 | 何时使用它 |
|---|---|---|
| 引用日志 | 每个分支和 HEAD 之前指向的位置 | 重置、变基或修改后 |
| GitTree 恢复参考 | 在可能丢失工作的操作之前拍摄的快照 GitTree | 重置后,删除分支或丢弃 GitTree |
| 无法到达的对象 | 提交和文件没有指向任何内容 | 掉落的藏品或在终端中完成的工作 |
仅在引用日志中的条目仍然可以从分支访问,因此它们首先是隐藏的。 Include retained reflog history 也显示了它们。
恢复掉落的藏品
存储是具有多个父级的提交。将其保留在分支上会保留其更改,但不会恢复存储的索引或未跟踪的文件布局。检查分支,或将其与您的工作进行比较,以收回更改。
失物招领或转发日志
如果出现问题
“这个对象在本地不再可用。它可能已被修剪。”
Git 的垃圾收集将其删除。尝试另一个结果,或者仍然具有提交的克隆。
“有些来源不可用或已达到极限。这些结果是不完整的。”
该存储库的历史记录比一次扫描读取的历史记录还要多。使用过滤器查找您需要的内容,或运行更深入的扫描。
分支名称被拒绝。
使用分支还没有的名称,不带空格或 Git 不允许的字符。
问题
失物招领是免费计划的一部分吗?
是的。它只读取您的本地存储库,不需要托管帐户。
失物招领可以更改我的存储库吗?
只有 Create recovery branch 通过添加一个分支来更改它。扫描和预览不会改变任何事情。
