SYNOPSIS
tig [options] [revisions] [--] [paths]
tig log [options] [revisions] [--] [paths]
tig show [options] [revisions] [--] [paths]
tig blame [options] [rev] [--] path
tig grep [options] [pattern]
tig stash
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 commands.
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 interpreted 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.
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.
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.
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" formatted 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 similar 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
Display all branches:
-
$ 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
ENVIRONMENT VARIABLES
In addition to environment variables used by Git (e.g. GIT_DIR), Tig defines 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).
TIGRC_SYSTEM
- Path of the system wide configuration file (defaults to {sysconfdir}/tigrc). Define to empty string to use built-in configuration.
TIG_LS_REMOTE
- Set 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.
FILES
~/.tigrc
- User configuration file. See tigrc(5) for examples.
/etc/tigrc
- System wide configuration file.
$GIT_DIR/config, '~/.gitconfig, '/etc/gitconfig
- Git configuration files. Read on start-up with the help of git-config(1).
BUGS
Please visit Tig's m[blue]home pagem[][1] or m[blue]main Git repositorym[][2] for information about new releases and how to report bugs or feature request.
COPYRIGHT
Copyright (c) 2006-2014 Jonas Fonseca <m[blue][email protected]m[][3]>
This program is free software; you can redistribute it and/or modify it under 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.
NOTES
- 1.
- home page
- 2.
- main Git repository
- 3.
-
[email protected]
- mailto:[email protected]