ターミナルから出ずに Git を見るなら tig 一択!

OSSGit
ターミナルから出ずに Git を見るなら tig 一択!

こんにちは!

皆さんは git log で履歴を眺めて、気になるコミットを git show して、また log に戻って……と往復して疲れたことはないでしょうか?
GUI の Git クライアントを開くのも面倒ですし、SSH 先や WSL の中だとそもそも使えません。

そんなときに強い味方が tig です!


§ 要約

tig は Git 用の TUI(ターミナル UI)です。

  • Ubuntu / Debian なら apt 一発で入る
  • コミットログ・diff・blame・stash・status がキー操作だけで見られる
  • GUI を開かず、ターミナルから出なくてよい
  • lazygit より「見る」ことに特化していて軽い

以上!終わり!
正直それで終わりにしてもいいのですが、せっかくなのでもう少し説明します。


§ tig とは

公式サイトはこちらです。

https://jonas.github.io/tig/

Jonas Fonseca さんが作っている、ncurses ベースの Git フロントエンドです。
Git の代替ではなく、Git の中身を快適に眺めるための道具だと思ってください。

知らんけど、一度慣れると git log 単体には戻りにくくなります。


§ インストール

¶ Ubuntu / Debian

$ sudo apt install tig

¶ macOS

$ brew install tig

入ったかの確認はこれだけです。

$ tig -v

§ とりあえず起動

リポジトリのルートで叩くのが基本です。

$ tig

メイン画面(コミットグラフ)が開きます。だいたいこんな感じです。

tig のメイン画面の例

コミットを選んで Enter すると、下ペインに diff が出ます。

tig の diff 画面の例

実際の配色や列は環境によって違いますが、履歴とブランチが一画面で見えるのがポイントです。

よく使う起動の仕方はこんな感じです。

# 作業ツリーの状態
$ tig status

# ファイルの blame
$ tig blame path/to/file

# remote ブランチだけ見たい
$ tig --remotes

# origin だけ
$ tig --remotes=origin

# local + remote + tag ぜんぶ
$ tig --all

tig -a--all)は全部入りです。
remote だけ見たいときは tig --remotes を使いましょう。


§ 画面の見方

tig にはいくつかのビューがあります。ざっくりだけ。

ビュー 何が見えるか
main コミット履歴・グラフ
diff そのコミットの差分
tree ツリー上のファイル
refs ブランチ・タグ・remote
grep リポジトリ内検索
stash stash 一覧
status 変更ファイル・ステージ状態

普段は main と diff、あとは status を開けばだいたい足ります。


§ 毎日使うキー

全部覚える必要はありません。これだけで戦えます。

キー 意味
j / k 下 / 上に移動
Enter 詳細を開く(main なら diff)
q 戻る。一番上なら終了
h ヘルプ
/ 検索
u status で stage / unstage

困ったら h です。助けは近くにあります。


§ 最小の ~/.tigrc

最初はほぼデフォルトで十分です。
気になるなら、線の種類とタブ幅くらい触ればよいです。

# ~/.tigrc の例(やりすぎない)
set line-graphics = utf-8
set tab-size = 4

カスタマイズ沼に入ると楽しいのですが、まずは素のまま使い倒しましょう。


§ lazygit との違い

よく比較される lazygit との使い分けです。

tig lazygit
得意 履歴・diff・blame を速く見る stage / commit / push などの操作
操作感 Vim ライクで軽い メニューが多くて高機能
SSH 先 特に相性がよい もちろん使えるが少し重いことも

見るなら tig、まとめて操作するなら lazygit、くらいの感覚でよいと思います。
両方入れておいて損はないです。


§ まとめ

tig の最大の利点は、ターミナルから出なくていいことです。

まずはこれだけ試してみてください。

$ tig
$ tig status

慣れたら tig --remotestig blame もどうぞ。
Git を眺める日常が、ちょっとだけ快適になります!

この記事をシェアする