tig

ビューイングにはいいが、CRUD操作は満足にできないので、生のgitコマンドを叩くことになる。tigキーバインドと生コマンドラインが混じるので、中途半端で良いソフトウェアとは言い難い。ビューイング〈閲覧 | インスペクト〉専用と考えたほうがストレスがないだろう。親子スプリットウィンドウのUIは秀逸だと思う。

ビューの種類:

  1. メインビュー(起動時)
  2. sキーでステータスビュー
  3. ステータスビューで項目(ファイル)選択し Enter でファイル差分ビュー(親子スプリットペイン)
  4. 他のビューでmキーでメインビュー。
  5. メインビューで項目(コミット)選択し、Enter でコミット差分ビュー(親子スプリットペイン)
  6. rキーで参照ビュー
  7. メインビューで項目(コミット)選択し、tキーでツリービュー CUIファイラーの雰囲気になる
  8. Rキーで任意の画面を更新
  9. ツリービューで項目(ファイル)選択し、bキーでブレイムビュー〈blame view〉。ファイルの各行ごとのコミット履歴を確認することができる。

オペレーション:

  1. ステータスビューで項目選択し uキーでステージング
  2. ブランチの作成は通常のgitコマンド、:キーでコマンド実行可能
  3. 参照ビューで項目(ブランチ)選択し、!キーを押すと本当に削除するかY/Nで聞かれるので,yキーを押してブランチ削除
  4. 参照ビューで項目(ブランチ)選択し、Cキーでチェックアウト

ビューをアプリケーション状態と考えると、状態遷移をトリガーするアクション(キー)は次にようになる。

  • m : メインビューに遷移
  • s : 状態ビューに遷移
  • r : 参照ビューに遷移
  • q : 履歴に関してひとつ前のビューに戻る、スプリットのときはスプリットを閉じる

引数=選択項目を持つアクション:

  • メインビュー コミット t : コミットのツリービュー
  • ステータスビュー ファイル Enter : ファイル差分ビュー(親子スプリットペイン)
  • メインビュー コミット Enter : コミット差分ビュー(親子スプリットペイン)

親子スプリットウィンドウ

  • 親側のカーソル移動は ^n, ^p
  • 子側のカーソル移動は j, k
  • 非常に使いやすい。

追記: スタッシュビューつうのがあるらしい。https://qiita.com/y-tsutsu/items/98fc75b8814c99619cf4 参照。