Gitの基本的なコマンドは使えるようになったので、
軽快さを求めてtig(git cui browser)を導入します。
SourceTreeやその他GUIツールから移行を検討されている方や
Gitを少し触り始めたけどルーティン操作が慣れない私向けの内容です。
インストール
macならbrewからinstallできます。
$ brew install tig
$ tig -v
tig version 2.1.1
main view
まずはgitのプロジェクトに移動してmain viewを表示させましょう。
mainviewは通常のgit log --graphよりも履歴を綺麗に表示してくれます。
$ tig
main viewのキーバインド
key | 説明 | 補足 |
---|---|---|
q | 終了 | viewを閉じる際の共通 |
Enter | 選択中のコミットのdiff viewを表示 | diff viewは後述 |
Ctrl + n | 下の履歴に移動 | - |
Ctrl + p | 上の履歴に移動 | - |
j | 下の履歴に移動 | - |
k | 上の履歴に移動 | - |
s | status viewを表示 | 後述 |
t | tree viewを表示 | 後述 |
h | help viewを表示 | tigのヘルプは見易い |
tree view
プロジェクトの構成とファイルの内容を見ながら履歴を探りたいときは
tree viewが便利です。
main viewからtを押せば下記のようにファイルとフォルダ単位で表示してくれます
tree viewのキーバインド
key | 説明 |
---|---|
Enter | ファイルの内容を表示 |
b | 選択しているファイルのblame表示 |
diff viewとtigの設定変更について
main viewからEnterで選択中の差分表示現れ、diff viewと言います。
ただ、垂直分割だと表示領域が狭く辛いので水平分割にするために設定を変更します。
~/.tigrcに記述して、もう一度tigを実行すれば設定が反映されます。
set vertical-split = no
set split-view-height = 70%
水平分割で表示されました。
diff viewのキーバインド
Ctrlを押したままにしてn,p,u,dを組み合わせればサクサク確認できます。
| key | 説明 |
|:-:|:-:|:-:|
| Ctrl + d | diffview内を下に移動 |
| Ctrl + u | diffview内を上に移動 |
| Ctrl + n | main view内を下に移動 |
| Ctrl + p | main view内を上に移動 |
status view
git stで確認していた内容はstatus viewから確認できます。
Add
status-view-text.txtがUntrackedとして表示されています。
jとkキーでファイルを選択し、u
を押下でaddすることができます。
| key | 説明 |
|:-:|:-:|:-:|
| j | 下に移動 |
| k | 上に移動 |
| u | add |
| shift + c | commit |
statusviewの表示内容について注意
tigを起動中に追加・削除されたファイルはtigを一度終了しないと認識されないのに注意してください。たとえば大量の一時ファイルがUntrackedに表示されてるので別窓のterminalからrmしても、tigには即時反映されません。
tigを一度閉じて再実行すれば認識してくれます。
Commit
stageされたファイルがある状態で
shift + c でコミットメッセージ記述のため、editorが起動します。
このくだりは通常のGitと変わりがないので省略します。
Untrackedな編集の削除
!で消せます。消す前には以下のように確認のステップが入ります。
起動時オプション
起動時のオプションによって色々できるのでよく使いそうなものをご紹介します
key | 説明 |
---|---|
tig xxx.txt | 指定ファイルのみの履歴を表示 |
tig blame xxx.txt | 通常のblameより見やすく捗ります |
tig branchA..branchB | ダブルドット 詳細 |
最後に
全ての操作をtigでやるのではなく、ルーティンなaddやコミットなどはtig。複雑な操作は通常のgitで操作するのが易しくて良いと思います。