メインコンテンツまでスキップ
バージョン: 0.6.x

RefLog

RefLog パネルは、リポジトリ内のすべての参照更新の履歴を表示します — チェックアウト、コミット、リベース、マージなど。失われたコミットやブランチの状態を復元し、任意の履歴エントリに対してアクションを実行するための高速な方法を提供します。

RefLog パネルへのアクセス

  1. 3 を押して コミットログ / RefLog パネルにフォーカスします。
  2. > を押してコミットログから RefLog に切り替えます。
  3. < を押してコミットログに戻ります。

キーバインディング

キーアクション
< / >コミットログと RefLog を切り替え
↑ / k前のエントリに移動
↓ / j次のエントリに移動
enterエントリ詳細を表示
nコミットハッシュから新しいブランチを作成
r選択したコミットにリセット
ctrl+p現在のブランチにチェリーピックして適用

各エントリの表示内容

各 reflog エントリには以下が表示されます:

  • コミットハッシュ — 参照されているコミットの短縮ハッシュ
  • アクションの説明 — 発生した内容の概要(例:checkout: moving from main to feature
  • アクションタイプ — 操作のカテゴリ(例:checkoutrebasecommitmerge

ワークフロー

RefLog エントリから新しいブランチを作成

削除されたブランチの復元や、任意の過去の状態からブランチを作成する際に便利です。

  1. / を使用してターゲットの reflog エントリを選択します。
  2. n を押します。
  3. エントリのコミットハッシュが事前入力された 新しいブランチの作成入力ポップアップが表示されます。
  4. 新しいブランチ名を入力します。
  5. enter を押してブランチを作成します。

RefLog エントリにリセット

エントリが参照するコミットに向けて、現在の HEAD を hard、mixed、または soft リセットします。

  1. / を使用してターゲットの reflog エントリを選択します。
  2. r を押します。
  3. リセットタイプポップアップが表示されます。以下から選択します:
    • Soft — 変更をステージングに残します。
    • Mixed — 変更を未ステージングのまま残します。
    • Hard — すべての変更を破棄します。
  4. 確認してリセットを実行します。
警告

ハードリセットは未コミットの変更を永久に破棄します。慎重に使用してください。


RefLog エントリからチェリーピック

特定の reflog エントリのコミットから変更を現在チェックアウト中のブランチに適用します。

  1. / を使用してターゲットの reflog エントリを選択します。
  2. ctrl+p を押します。
  3. エントリの詳細を示す確認ポップアップが表示されます:
    • ハッシュ
    • HEAD 参照
    • アクションタイプ
    • アクション情報
  4. 確認してチェリーピックを適用します。

設定

Gitti が読み込む reflog エントリの数を制御できます:

gitti --max-ref-log-count 2500

デフォルトは 2500 エントリです。