BLOG

gitクライアント「tig」を使いこなすための最低限覚えるべき6つのコマンド

SHARE SHARE SHARE SHARE

shutterstock_96646663

 

HAIRのサーバーサイドエンジニアの黒田です。

 

「tig」使ってますでしょうか?「tig」はカラフル・軽量・インタラクティブにGitを扱うことが出来る Git のCUIクライアントです。git add, diff, commit, status, log, checkout, etc… をコマンドラインで頑張って打ち込んでいる方に是非「tig」を使って頂きたいです。一度使いこなすともう手放せない存在になりますよ!

 

インストール

 

brew install tig(Mac : homebres)

yum install tig(CentOS)

 

使い方

 

1.現在のブランチのコミットログ一覧(git log, git diffと対応)

 

$ tig

kuroda_1

 

・コミットを選ぶ

<Up> , <Ctrl + p> : ↑

<Down>,  <Ctrl + n >: ↓

<Enter> : 選択

 

・コミット差分詳細

<PageUp>, Ctrl + u : 1ページ ↑

<PageDown>, Ctrl + d :  1ページ ↓

 

q : 現在のviewを閉じる、またはtig終了

 

2.現在の作業状態を確認(git statusと対応)

 

$ tig status

 

左が変更を加えたgit statusのview、ファイルを選択すると右側がdiffになります。

ファイル名の左側に書いてあるアルファベット一文字は以下のようになってます。

M : 変更されたファイル

D : 削除された状態 or git rm された状態

A : 新しくリポジトリに追加されるファイル(comitted)

?:一度もリポジトリに追加されたことのないファイル

kuroda_2

 

・ファイルを選ぶ

<Up> , <Ctrl + p> : ↑

<Down>,  <Ctrl + n >: ↓

<Enter> : 選択

 

・ファイル変更差分詳細

<PageUp>, Ctrl + u : 1ページ ↑

<PageDown>, Ctrl + d :  1ページ ↓

 

3.インデックスに追加、インデックス取り消し、ファイル変更取り消し、(git add, git reset HEAD, git checkout — )

 

・インデックスに追加(git add)

git add したいファイルを選択して「u 」を押すと

 

kuroda_3

 

git add された状態になりインデックスに追加されました。

 

kuroda_4

 

・インデックス取り消し(git reset HEAD)

git add の場合と反対に、ファイルを選択して「u」を押すと

 

kuroda_5

 

git reset HEAD した状態になります

 

kuroda_6

 

・ファイル変更取り消し(git checkout — )

ファイルを選択して「!」を入力すると revert changes? と聞かれるので「y」を入力すると変更がなくなります。

 

kuroda_7

 

コミットをする

 

コミットをする場合には  $ tig status のページで「C」を入力すると、エディタが起動してコミットログを書くことができます。慣れればとてもシームレスにtigからの移行を行えます。エディタを変更したい場合は後述の.tigrcで変えることが出来ます。

 

4.あるコミットのファイルツリーの一覧を見る

 

$ tig tree (リビジョン番号。shaの文字列)

そのコミット時点のファイルツリーが表示されます。選択してファイルの中身を見ることも出来ます。

 

kuroda_8

 

5.ブランチ一覧を見る(git branch)

 

全てのブランチ一覧を表示させて、各ブランチのコミットログを見られます。

 

kuroda_9

 

6.ファイルの各行が誰の何のコミットか分かる(git blame)

 

$ tig blame file_name

 

通常のgit blameでも同様なことができますが、tigでは各行を選択した後にEnterを押すと、該当コミットの詳細をインタラクティブに見ることが出来ます。


kuroda_10

もっと便利に使いこなすためのキーバインドによる遷移

 

tigの真骨頂はインタラクティブなCUIであるというところで、キーバインドを使いこなせるようになるともうホントに手放せなくなります。画面遷移はこの順番に限りませんが、実用的な順番でまとめてみました。「(かっこ)」内の一文字がキーバインドです。


kuroda_11

 

まとめ

 

キーバインドによる遷移を見ると覚えることは意外と少ないですね!「tig」を使えるようになるとGithubやSourceTreeなどでブランチをGUIで確認するよりもtigの方が分かりやすいと思うようになりました。もっと「tig」使いやすくするためには .tigrc (https://github.com/jonas/tig/blob/master/tigrc)をホームディレクトリに設置すると、キーバインドを変更できたり、空白空行の表示を無視する設定をできたり、色を変更できたりします。

Gitの作業効率が圧倒的に改善されますので、ぜひ「tig」使ってみてください!社内でももっと普及したらいいなー!

 

WRITER

Kuroda1

Kuroda

ビューティー・サロン事業部

Kuroda1

RECOMMEND