Read more

Using tig

Dominik Schöler
August 12, 2015Software engineer at makandra GmbH

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

Navigating

Illustration web development

Do you need DevOps-experts?

Your development team has a full backlog? No time for infrastructure architecture? Our DevOps team is ready to support you!

  • We build reliable cloud solutions with Infrastructure as code
  • We are experts in security, Linux and databases
  • We support your dev team to perform
Read more Show archive.org snapshot

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
Posted by Dominik Schöler to makandra dev (2015-08-12 08:34)