Using tig

tig is a command line explorer for git that is just awesome. Install via apt-get or brew.

Navigating

Generally speaking, tig is controlled similar to vim.

  • ENTER: Dive into the highlighted line, e.g. open a commit
  • Q: Go back to the previous view, e.g. close a file
  • SHIFT + Q: Exit
  • TAB: Switch focus between views, e.g. the commits list and the commit diff

Features

tree view

Hit t. You'll see the current directory annotated with the latest change date and its author. Navigate with arrow keys or vim.

blame

Press b (as in blame). tig will open the file under the cursor and annotate each line with change date and author.

search for commit messages

Type /, then your search phrase case sensitive and press ENTER. tig will jump to commits whose message contains the search phrase, as you repeatedly press N.

see history of a certain file/path

Start tig with tig <file or path or glob>. It will boot with the commit list filtered to those that touched the given file(s).

view status and un/stage files
: Call tig status. You will see something similar to git status, however, it's interactive. Un/stage with U, navigate with ENTER/Q.

explore stashed items

Call tig stash. See Git: How to look at the stash

Configuration

tig is configured in your ~/.gitconfig file. I have the following section there:

[tig]
  main-view-date-display = relative-compact
  main-view-commit-title-graph = v1
  main-view-author-display = abbreviated
  main-view-id-display = yes
Dominik Schöler Almost 9 years ago