はじめに
gitやgithubで開発してる場合はgitコマンドもよく使いますよね。
そんな時、簡単にlogを可視化したり、簡単にいまのstatusを見たり、簡単にdiffを見たいときに使えるtigコマンドについてのメモです
アジェンダ
- tigとは
- tigのインストール
- tigでできること
- tig使ってみる
- よく使うtigコマンドまとめ
1. tigとは
引用ですが、こんな感じ。
Gitのためのテキストユーザインタフェースです。
Gitリポジトリ内の変更内容をVimライクな操作で高速に閲覧することができます。
参考: https://qiita.com/tyabe/items/4ce9918b6dd6971d60e4
git操作自体をvim上で行う感じ、というと雰囲気伝わるでしょうか?
2. tigのインストール
$ brew install tig
3. tigでできること例
できるコトはたくさんありますが一例と、こんな感じに見えるよというのを先に記載しておきます。
一例
- git logをいい感じに可視化
- git statusをいい感じに可視化
- git statusをいい感じに可視化した上でそのままステージ(git add)/アンステージできたり
- git statusをいい感じに可視化した上でそのままdiffを見たり
4. tig使ってみる
一例をそのまんま使ってみます。
git logをいい感じに可視化
ターミナル上でgit管理化のdirに移動します。
そこで tig
と打つとgit logをいい感じに表示してくれます。
ちなみに、これをmain view
と呼ぶらしいです。
この画面がすべての起点となります。
コマンド
基本的なコマンドです。
キー | 挙動 |
---|---|
j, k | カーソルの上下移動 |
左右の矢印キー | 左右にスクロール |
enter | サブビュー(詳細)表示 |
Ctrl+D/U | ページ単位で上下移動 |
q | 現在のビューを閉じる |
Q | tigを終了 |
/ | 画面内検索 |
git statusをいい感じに可視化
statusもいい感じに可視化してくれます。
コマンドラインからはtig status
と打てばstatusが表示され、
main view
を開いている状態であれば単にs
と打つだけです。
それぞれの意味はgitに慣れていれば、見てわかると思いますが念のため記載しておきます。
項目
|項目|説明| |Changes to be committed:|git add したやつ(コミット対象)| |Changed but not updated:|変更があったコミット対象外)| |Untracked files:|新しく作成されたやつ(コミット対象外)|
git statusをいい感じに可視化した上でそのままステージ(git add)/アンステージできたり
また、このstatus画面では j,k
で移動できたりします。
移動しながらu
でそのままステージ(git add)
できたりします。
statusビュー上でgit add前
statusビュー上でgit add後
コマンド
キー操作 | 説明 |
---|---|
j, k | カーソル移動 |
u | ハンク単位でステージ/アンステージ |
git statusをいい感じに可視化した上でそのままdiffを見たり
また、status画面でj,k
で移動しながら見たいファイル上でEnter
を押すとdiffも開けます。
これはdiffビュー
というらしいです。
mainビュー上からdiffビュー開く
statusビュー上からdiffビュー開く
コマンド
diffビュー上でも移動やらいろいろできますが、コマンドはこんな感じです。
キー操作 | 説明 |
---|---|
j, k | カーソル移動 |
ctrl-u, ctrl-d | ページ単位で上下移動 |
u | ハンク単位でステージ/アンステージ |
1 | 行単位でステージ/アンステージ |
shift-j, shift-k | ファイル選択(左側のビュー)を上下移動 |
q | diffビューを閉じる |
参考サイト
おわり
tig便利!とまえまえから思ってたけど未だに意外とそのままgit status
と打ってしまいますね\(^o^)/