RefLog
RefLog パネルは、リポジトリ内のすべての参照更新の履歴を表示します — チェックアウト、コミット、リベース、マージなど。失われたコミットやブランチの状態を復元し、任意の履歴エントリに対してアクションを実行するための高速な方法を提供します。
RefLog パネルへのアクセス
3を押して コミットログ / RefLog パネルにフォーカスします。>を押してコミットログから RefLog に切り替えます。<を押してコミットログに戻ります。
キーバインディング
| キー | アクション |
|---|---|
< / > | コミットログと RefLog を切り替え |
↑ / k | 前のエントリに移動 |
↓ / j | 次のエントリに移動 |
enter | エントリ詳細を表示 |
n | コミットハッシュから新しいブランチを作成 |
r | 選択したコミットにリセット |
ctrl+p | 現在のブランチにチェリーピックして適用 |
各エントリの表示内容
各 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 — すべての変更を破棄します。
- 確認してリセットを実行します。
警告
ハードリセットは未コミットの変更を永久に破棄します。慎重に使用してください。
RefLog エントリからチェリーピック
特定の reflog エントリのコミットから変更を現在チェックアウト中のブランチに適用します。
↑/↓を使用してターゲットの reflog エントリを選択します。ctrl+pを押します。- エントリの詳細を示す確認ポップアップが表示されます:
- ハッシュ
- HEAD 参照
- アクションタイプ
- アクション情報
- 確認してチェリーピックを適用します。
設定
Gitti が読み込む reflog エントリの数を制御できます:
gitti --max-ref-log-count 2500
デフォルトは 2500 エントリです。