Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
TIG(1)				   Tig Manual				  TIG(1)

NAME
     tig - text-mode interface for Git

SYNOPSIS
     tig	[options] [revisions] [--] [paths]
     tig log	[options] [revisions] [--] [paths]
     tig show	[options] [revisions] [--] [paths]
     tig reflog [options] [revisions]
     tig blame	[options] [rev] [--] path
     tig grep	[options] [pattern]
     tig refs	[options]
     tig stash	[options]
     tig status
     tig <	[Git command output]

DESCRIPTION
     Tig is an ncurses-based text-mode interface for git(1). It functions mainly
     as  a  Git  repository  browser, but can also assist in staging changes for
     commit at chunk level and act as a pager for output from various  Git  com-
     mands.

OPTIONS
     Command  line  options  recognized  by Tig include all valid git-log(1) and
     git-diff(1) options, as well as the following subcommands and  Tig-specific
     options.  The  first command line parameter not starting with "-" is inter-
     preted as being either a revision specification or a path and will end  the
     option parsing. All additional options will be passed to the underlying Git
     command.

     Note  that this means that any arguments to options should be specified to-
     gether. For example,  run	tig  -Sfoo  instead  of  tig  -S  foo,	and  tig
     --grep=foo  instead of tig --grep foo, otherwise foo will be interpreted as
     a revision rather than an argument.

     show
	 Open diff view using the given git-show(1) options.

     blame
	 Show given file annotated by commits. Takes zero or  more  git-blame(1)
	 options. Optionally limited from given revision.

     status
	 Start up in status view.

     log
	 Start up in log view, displaying git-log(1) output.

     reflog
	 Start up in reflog view.

     refs
	 Start	up  in refs view. All refs are displayed unless limited by using
	 one of the --branches, --remotes, or --tags parameters.

     stash
	 Start up in stash view.

     grep
	 Open the grep view. Supports the same options as git-grep(1).

     +<number>
	 Show the first view with line <number> visible and selected.

     -v, --version
	 Show version and exit.

     -h, --help
	 Show help message and exit.

     -C <path>
	 Run as if Tig was started in <path> instead of the current working  di-
	 rectory.

PAGER MODE
     Tig  enters  pager  mode  when input is provided via stdin and supports the
     following subcommands and options:

     *	 When the show subcommand is specified and the --stdin option is  given,
	 stdin	is  assumed  to be a list of commit IDs and will be forwarded to
	 the diff view's underlying git-show(1) command. For example:

	 $ git rev-list --author=vivien HEAD | tig show --stdin

     *	 When --stdin is given, stdin is assumed to be a list of commit IDs  and
	 will be forwarded to the main view's underlying git-log(1) command. For
	 example:

	 $ tig --no-walk --stdin < cherry-picks.txt

     *	 When  --pretty=raw is given, stdin is assumed to be a "pretty=raw" for-
	 matted output similar to that of git-log(1). For example:

	 $ git reflog --pretty=raw | tig --pretty=raw

     When no subcommands nor options are given, the pager view will be used  for
     displaying the Git command input given on stdin. The pager view assumes the
     input  is either from git-log(1) or git-diff(1) and will highlight it simi-
     lar to the log and diff views. For example:

	 $ git log -Schange -p --raw | tig

EXAMPLES
     Display the list of commits for the current branch:

	 $ tig

     Display commits from one or more branches:

	 $ tig test master

     Pretend as if all the refs in refs/ are listed on the command line:

	 $ tig --all

     Display differences between two branches:

	 $ tig test..master

     Display changes for sub-module versions:

	 $ tig --submodule

     Display changes for a single file:

	 $ tig -- README

     Display contents of the README file in a specific revision:

	 $ tig show tig-0.8:README

     Display revisions between two dates for a specific file:

	 $ tig --after="2004-01-01" --before="2006-05-16" -- README

     Blame file with copy detection enabled:

	 $ tig blame -C README

     Display the list of stashes:

	 $ tig stash

     Grep all files for lines containing DEFINE_ENUM:

	 $ tig grep -p DEFINE_ENUM

     Show references (branches, remotes and tags):

	 $ tig refs

     Use word diff in the diff view:

	 $ tig --word-diff=plain

ENVIRONMENT VARIABLES
     In addition to environment variables used by Git (e.g.  GIT_DIR),	Tig  de-
     fines the ones below. The command related environment variables have access
     to  the  internal state of Tig via replacement variables, such as %(commit)
     and %(blob). See tigrc(5) for a full list.

     TIGRC_USER
	 Path of the user configuration file (defaults to ~/.tigrc or  $XDG_CON-
	 FIG_HOME/tig/config).

     TIGRC_SYSTEM
	 Path	of   the   system   wide   configuration   file   (defaults   to
	 {sysconfdir}/tigrc). Define to empty string to use built-in  configura-
	 tion.

     TIG_LS_REMOTE
	 Command  for  retrieving  all repository references. The command should
	 output data in the same format as git-ls-remote(1).

     TIG_DIFF_OPTS
	 The diff  options  to	use  in  the  diff  view.  The	diff  view  uses
	 git-show(1) for formatting and always passes --patch-with-stat. You may
	 also set the diff-options setting in the configuration file.

     TIG_TRACE
	 Path for trace file where information about Git commands are logged.

     TIG_SCRIPT
	 Path  to  script  that  should be executed automatically on startup. If
	 this environment variable is defined to the empty string, the script is
	 read from stdin. The script is interpreted line-by-line and can contain
	 prompt commands and key mappings. Note that the < character must be en-
	 coded as <LT> within the script.

	     E.g. TIG_SCRIPT=<(echo :set main-view-commit-title-graph = no) tig

     TIG_NO_DISPLAY
	 Open Tig without rendering anything to the terminal. This force Ncurses
	 to write to /dev/null. The main use is for automated testing of Tig.

     TIG_EDITOR
	 The editor command to use when visiting files. This  environment  vari-
	 able  overrides  (in order of precedence) $GIT_EDITOR, core.editor con-
	 figuration, $VISUAL and $EDITOR, so it allows to use a different editor
	 from the one Git uses. The value is meant  to	be  interpreted  by  the
	 shell when it is used.

FILES
     $XDG_CONFIG_HOME/tig/config, ~/.config/tig/config, ~/.tigrc
	 The  Tig  user  configuration	file  is loaded in the following way. If
	 $XDG_CONFIG_HOME  is  set,  read  user  configuration	from   $XDG_CON-
	 FIG_HOME/tig/config.  If  $XDG_CONFIG_HOME  is empty or undefined, read
	 user configuration from ~/.config/tig/config if it exists and fall back
	 to ~/.tigrc if it does not exist. See tigrc(5) for examples.

     /usr/local/etc/tigrc
	 System wide configuration file.

     $GIT_DIR/config, ~/.gitconfig, /usr/local/etc/gitconfig
	 Git configuration files. Read on start-up with  the  help  of	git-con-
	 fig(1).

     $XDG_DATA_HOME/tig/history, ~/.local/share/tig/history, ~/.tig_history
	 When  compiled  with  readline support, Tig writes a persistent command
	 and search history. The location of the history file is  determined  in
	 the following way. If $XDG_DATA_HOME is set and $XDG_DATA_HOME/ exists,
	 create   $XDG_DATA_HOME/tig/	if   needed   and   store   history   to
	 $XDG_DATA_HOME/tig/history. If $XDG_DATA_HOME is  empty  or  undefined,
	 store	history  to  ~/.local/share/tig/history  if the directory ~/.lo-
	 cal/share/tig/ exists, and fall back to ~/.tig_history if it  does  not
	 exist.

BUGS
     Please  visit Tig's home page[1] for information about new releases and how
     to report bugs or feature request.

COPYRIGHT
     Copyright (c) 2006-2026 Jonas Fonseca <jonas.fonseca@gmail.com[2]>

     This program is free software; you can redistribute it and/or modify it un-
     der the terms of the GNU General Public License as published  by  the  Free
     Software  Foundation;  either version 2 of the License, or (at your option)
     any later version.

SEE ALSO
     tigrc(5), tigmanual(7), git(7)

NOTES
      1. home page
	 https://github.com/jonas/tig

      2. jonas.fonseca@gmail.com
	 mailto:jonas.fonseca@gmail.com

Tig 2.6.1			   2026-06-13				  TIG(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=tig&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help