sakutarou’s blog

とりあえずWeb系技術をゆるく書いていく

今さらすっごい便利なtigをインストールした

tigはGitをCUIで扱う場合に便利にしてくれるツールです。
git loggit add 等がカラフルで見やすく、インタラクティブに操作できるようになります。

tigの存在は知ってたのですが、ずっーーと見て見ぬ振りをしていたので使ってみました。

インストール

rpmforgeを追加すればyumでインストールすることが可能です。
MacであればHomebrewでインストール可能みたいです。

rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

vim  /etc/yum.repos.d/rpmforge.repo
- enabled = 1
+ enabled = 0

yum --enablerepo=rpmforge install tig

ただし、yumでインストール出来るのは結構古いので、自分でmakeしてもいいかも
http://jonas.nitro.dk/tig/manual.html

使い方

git clone した場所で、 tig と入力するだけです。
tig を実行すると git log した状態と同じになります。

tigを実行した画面
f:id:sakutarou:20160111221327g:plain

この状態で上下で対象のcommitを選び、エンターでdiffを見ることが出来ます。

ステータスを確認する(git status)

現在のステータスを確認するには tig status を実行します。
※tigの初期画面から S でも移動可能

f:id:sakutarou:20160111221509g:plain

基本的にはgit statusと変わりませんが、この画面上で git add , git diff , git reset , git commit を完結することが出来ます。

git add、git reset

ファイルを選択した状態で u を押す

git diff

ファイルを選択した状態で Enter を押す

git checkout --

ファイルを選択した状態で ! を押す
「Are you sure you want to revert changes?」と聞かれるので、y を押すことで変更を戻すことが可能です。

git commit

addをした状態で、C を押す

その他

~/.tigrc を修正することで細かな設定を変更することが可能です。
http://qiita.com/yoshikazusawa/items/d99e8b5d6f6a45aa6e2e
http://jonas.nitro.dk/tig/tigrc.5.html