Tig(text-mode interface for git)を使う

twitterで流れてきたリンクに、CUIからgitを使うためのツールについての情報があった。早速試してみたらかなり便利だったので紹介してみる。

 

インストール

普通にソースコードを取得してビルド / インストールする。記事の時点での最新版0.16.2を使用したが、実際に試すときはreleasesページから最新のリリースを取得したほうがいいだろう。

% wget http://jonas.nitro.dk/tig/releases/tig-0.16.2.tar.gz
% tar -zxvf tig-0.16.2.tar.gz
% cd tig-0.16.2/
% ./configure
# (snip) configure: error: ncurses not found

おっと、依存ライブラリ(git-core / ncurses / iconv)が不足しているらしい。手元の環境ではncurses-develが不足だったので、yumからインストールした。

% yum list | grep -i ncurses
ncurses.i386                               5.5-24.20060715             installed
ncurses-devel.i386                         5.5-24.20060715             base
php-ncurses.i386                           5.1.6-27.el5                base
% sudo yum install ncurses-devel

気を取り直してもう一度。

% ./configure
% make
% sudo make install
% which tig
/usr/local/bin/tig

使ってみる

ビュー

機能ごとに分けられた画面をそれぞれ「ビュー」という。メインビュー、diffビュー、ログビューなどがあり、それらを行き来しながら作業することになるっぽい。

キー操作

困ったら[h]でかなり詳細なhelpが参照できる。キーバインドは基本的にvim、一部emacsバインドにも対応している。

いつものgitコマンドは[:]に続けて実行できる。"git"は省略して、「:stauts[enter]」のような入力になる。

使用例:マスタリポジトリから更新する

メインビューから

:pull origin master

ページャーモードに変更され、今回のpullで持ってきた結果がpager modeで表示される。[m]でメインビューに戻り、[R]で更新すると一覧に今持ってきたコミットが反映される。

使用例:変更をaddしてcommitする

[S]でステータスビュー。ファイルにカーソルを置いて[u]でファイルのステージング(git add) / アンステージング(git reset)、[enter]でdiff。[!]で変更を取り消し(git checkout / confirmあり)。[C]でコミット(git commit)。

感想

便利な点

とにかくメインビュー(コミットの一覧)からできる作業が便利。[t]でそのコミット時点のファイルツリーをみることができるし、コミットを選んでは[enter]でdiffを表示できる。変更を見たり追ったりするには大変便利。

不便な点

[:]で開くプロンプトがzshの強力さには及ばない。zsh + gitの場合はコマンドもファイルもtabを押すと空気読んでざくざく補完してくれるが、その辺はいっさい非対応。C-hでバックスペースもできないので、長い文字列を打ち込むのはちょっと苦痛。

まとめ

tabによる補完が利きまくる分、更新系の操作はzsh + gitのほうがやりやすいように感じた。逆に参照系はツリービュー、リビジョングラフ、マルチカラム表示など「みやすく」する工夫がたっぷりつまっているので快適そのもの。

ということで、screenの1枚に常駐させておく価値があるぐらいには便利だな、と感じた。しばらく使ってみよう。

Links

Index of /tig
http://jonas.nitro.dk/tig/

The tig Manual
http://jonas.nitro.dk/tig/manual.html

Born Too Late » CUI な Git ブラウザ tig を入れてみた
http://blog.yuyat.jp/archives/557

3 Comments

  1. do_akiの徒然想記 11月 15, 2010 10:08 pm  返信

    [git][scm][tig] tig を使ってみた

    ベンリダヨー という声があちらこちらから上がってきたので、Tig を早速使ってみた。 Tig (text-mode interface for git) ってのは、CUI で GUI っぽい操作が可能な git ブラウザ。 使ってみたのなら blog に書けという kwappa さんの声が聞こえたような気がしたので書いて…

  2. Born Too Late 11月 16, 2010 7:44 am  返信

    CUI な Git ブラウザ tig を入れてみた

    Git をなかなか使いこなせずにいる私ですが、これはいい ! コンソールから使える git ブラウザ、tig が超便利 Vim に近い操作感で使えるのが Vim 使いには非常に嬉しいところです。以下で、インストール方法と基本操作について紹介します。 インストール インストールは、まずソースコードからやってみたのですが、パッケージが存在することに気づいたので、 aptitude で入れ直しました。 sudo aptitude install tig はい、簡単ですね。 起動する カレントディレクトリを…

  3. 浜村拓夫の世界 2月 22, 2011 1:25 am  返信

    さくらのVPS 設定ガイドリンク集 厳選140 \(初心者歓迎)/…

    さくらのVPSでWebサーバを構築するのに、参考にしたページをまとめました。 相違点を比較検討することによって、標準的な作業手順を洗い出すのに役立ちました。 情報を公開、提供してくださった皆様に感謝い……

Leave a comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です