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 條。