RefLog
RefLog 面板显示仓库中所有引用更新的历史记录 — 检出、提交、变基、合并等。它提供了一种快速恢复丢失的提交或分支状态,并对任何历史条目执行操作的方法。
访问 RefLog 面板
- 按
3将焦点切换到提交日志 / RefLog 面板。 - 按
>从提交日志切换到 RefLog。 - 按
<返回提交日志。
键位绑定
| 按键 | 动作 |
|---|---|
< / > | 在提交日志和 RefLog 之间切换 |
↑ / k | 移动到上一条目 |
↓ / j | 移动到下一条目 |
enter | 查看条目详情 |
n | 从提交哈希创建新分支 |
r | 重置到选定的提交 |
ctrl+p | cherry-pick 到当前分支并应用 |
每条条目显示的内容
每条 reflog 条目显示以下信息:
- 提交哈希 — 引用的提交的简短哈希
- 操作描述 — 发生内容的概述(例如:
checkout: moving from main to feature) - 操作类型 — 操作的类别(例如:
checkout、rebase、commit、merge)
工作流
从 RefLog 条目创建新分支
适用于恢复已删除的分支或从任意历史状态创建分支。
- 使用
↑/↓选择目标 reflog 条目。 - 按
n。 - 出现创建新分支输入弹窗,预填该条目的提交哈希。
- 输入新分支名称。
- 按
enter创建分支。
重置到 RefLog 条目
将当前 HEAD hard、mixed 或 soft 重置到该条目引用的提交。
- 使用
↑/↓选择目标 reflog 条目。 - 按
r。 - 出现重置类型弹窗,请从以下选项中选择:
- Soft — 将更改保留在暂存区。
- Mixed — 将更改保留为未暂存状态。
- Hard — 丢弃所有更改。
- 确认以执行重置。
注意
Hard 重置会永久丢弃未提交的更改,请谨慎使用。
从 RefLog 条目 Cherry-pick
将特定 reflog 条目的提交更改应用到当前检出的分支。
- 使用
↑/↓选择目标 reflog 条目。 - 按
ctrl+p。 - 出现确认弹窗,显示该条目的详情:
- 哈希
- HEAD 引用
- 操作类型
- 操作信息
- 确认以应用 cherry-pick。
配置
您可以控制 Gitti 加载的 reflog 条目数量:
gitti --max-ref-log-count 2500
默认值为 2500 条。