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 b
lame). 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