Using tig

Updated . Posted . Visible to the public. Repeats.

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

Handy commands

  • t ("tree"): Directory-structure based access. You'll see the current directory annotated with the latest change date and its author. Navigate with arrow keys or vim.
  • b ("blame"): Opens the file under the cursor and annotates each line with change date and author.
  • d ("diff"): Like ENTER on a commit, but arrow keys will scroll the diff!
  • /: Search current view (e.g. commit list, diff). Jump to next hit with n. Case-sensitive!
  • 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

Other features

  • Path-based access. Run tig path/to/file*. It will boot with the commit list filtered to those that touched the given file(s).
  • Interactive Git status. Run tig status. Stage/unstage with U, navigate with ENTER/Q.
  • Stash management. Call tig stash, browse the stashes, apply with a, pop with p, drop with !. See Git: How to look at the stash

Config file

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

[tig]
  main-view-date-display = relative-compact # Highly recommended
  main-view-commit-title-graph = v1
  main-view-author-display = abbreviated # More compact
  main-view-id-display = yes
Profile picture of Dominik Schöler
Dominik Schöler
Last edit
Dominik Schöler
License
Source code in this card is licensed under the MIT License.
Posted by Dominik Schöler to makandra dev (2015-08-12 06:34)