Documentation / git-help.txton commit Merge branch 'ab/grep-preparatory-cleanup' into sb/submodule-blanket-recursive (234b10d)
   1git-help(1)
   2===========
   3
   4NAME
   5----
   6git-help - Display help information about Git
   7
   8SYNOPSIS
   9--------
  10[verse]
  11'git help' [-a|--all] [-g|--guide]
  12           [-i|--info|-m|--man|-w|--web] [COMMAND|GUIDE]
  13
  14DESCRIPTION
  15-----------
  16
  17With no options and no COMMAND or GUIDE given, the synopsis of the 'git'
  18command and a list of the most commonly used Git commands are printed
  19on the standard output.
  20
  21If the option `--all` or `-a` is given, all available commands are
  22printed on the standard output.
  23
  24If the option `--guide` or `-g` is given, a list of the useful
  25Git guides is also printed on the standard output.
  26
  27If a command, or a guide, is given, a manual page for that command or
  28guide is brought up. The 'man' program is used by default for this
  29purpose, but this can be overridden by other options or configuration
  30variables.
  31
  32Note that `git --help ...` is identical to `git help ...` because the
  33former is internally converted into the latter.
  34
  35To display the linkgit:git[1] man page, use `git help git`.
  36
  37This page can be displayed with 'git help help' or `git help --help`
  38
  39OPTIONS
  40-------
  41-a::
  42--all::
  43        Prints all the available commands on the standard output. This
  44        option overrides any given command or guide name.
  45
  46-g::
  47--guides::
  48        Prints a list of useful guides on the standard output. This
  49        option overrides any given command or guide name.
  50
  51-i::
  52--info::
  53        Display manual page for the command in the 'info' format. The
  54        'info' program will be used for that purpose.
  55
  56-m::
  57--man::
  58        Display manual page for the command in the 'man' format. This
  59        option may be used to override a value set in the
  60        `help.format` configuration variable.
  61+
  62By default the 'man' program will be used to display the manual page,
  63but the `man.viewer` configuration variable may be used to choose
  64other display programs (see below).
  65
  66-w::
  67--web::
  68        Display manual page for the command in the 'web' (HTML)
  69        format. A web browser will be used for that purpose.
  70+
  71The web browser can be specified using the configuration variable
  72`help.browser`, or `web.browser` if the former is not set. If none of
  73these config variables is set, the 'git web{litdd}browse' helper script
  74(called by 'git help') will pick a suitable default. See
  75linkgit:git-web{litdd}browse[1] for more information about this.
  76
  77CONFIGURATION VARIABLES
  78-----------------------
  79
  80help.format
  81~~~~~~~~~~~
  82
  83If no command-line option is passed, the `help.format` configuration
  84variable will be checked. The following values are supported for this
  85variable; they make 'git help' behave as their corresponding command-
  86line option:
  87
  88* "man" corresponds to '-m|--man',
  89* "info" corresponds to '-i|--info',
  90* "web" or "html" correspond to '-w|--web'.
  91
  92help.browser, web.browser and browser.<tool>.path
  93~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  94
  95The `help.browser`, `web.browser` and `browser.<tool>.path` will also
  96be checked if the 'web' format is chosen (either by command-line
  97option or configuration variable). See '-w|--web' in the OPTIONS
  98section above and linkgit:git-web{litdd}browse[1].
  99
 100man.viewer
 101~~~~~~~~~~
 102
 103The `man.viewer` configuration variable will be checked if the 'man'
 104format is chosen. The following values are currently supported:
 105
 106* "man": use the 'man' program as usual,
 107* "woman": use 'emacsclient' to launch the "woman" mode in emacs
 108(this only works starting with emacsclient versions 22),
 109* "konqueror": use 'kfmclient' to open the man page in a new konqueror
 110tab (see 'Note about konqueror' below).
 111
 112Values for other tools can be used if there is a corresponding
 113`man.<tool>.cmd` configuration entry (see below).
 114
 115Multiple values may be given to the `man.viewer` configuration
 116variable. Their corresponding programs will be tried in the order
 117listed in the configuration file.
 118
 119For example, this configuration:
 120
 121------------------------------------------------
 122        [man]
 123                viewer = konqueror
 124                viewer = woman
 125------------------------------------------------
 126
 127will try to use konqueror first. But this may fail (for example, if
 128DISPLAY is not set) and in that case emacs' woman mode will be tried.
 129
 130If everything fails, or if no viewer is configured, the viewer specified
 131in the `GIT_MAN_VIEWER` environment variable will be tried.  If that
 132fails too, the 'man' program will be tried anyway.
 133
 134man.<tool>.path
 135~~~~~~~~~~~~~~~
 136
 137You can explicitly provide a full path to your preferred man viewer by
 138setting the configuration variable `man.<tool>.path`. For example, you
 139can configure the absolute path to konqueror by setting
 140'man.konqueror.path'. Otherwise, 'git help' assumes the tool is
 141available in PATH.
 142
 143man.<tool>.cmd
 144~~~~~~~~~~~~~~
 145
 146When the man viewer, specified by the `man.viewer` configuration
 147variables, is not among the supported ones, then the corresponding
 148`man.<tool>.cmd` configuration variable will be looked up. If this
 149variable exists then the specified tool will be treated as a custom
 150command and a shell eval will be used to run the command with the man
 151page passed as arguments.
 152
 153Note about konqueror
 154~~~~~~~~~~~~~~~~~~~~
 155
 156When 'konqueror' is specified in the `man.viewer` configuration
 157variable, we launch 'kfmclient' to try to open the man page on an
 158already opened konqueror in a new tab if possible.
 159
 160For consistency, we also try such a trick if 'man.konqueror.path' is
 161set to something like 'A_PATH_TO/konqueror'. That means we will try to
 162launch 'A_PATH_TO/kfmclient' instead.
 163
 164If you really want to use 'konqueror', then you can use something like
 165the following:
 166
 167------------------------------------------------
 168        [man]
 169                viewer = konq
 170
 171        [man "konq"]
 172                cmd = A_PATH_TO/konqueror
 173------------------------------------------------
 174
 175Note about git config --global
 176~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 177
 178Note that all these configuration variables should probably be set
 179using the `--global` flag, for example like this:
 180
 181------------------------------------------------
 182$ git config --global help.format web
 183$ git config --global web.browser firefox
 184------------------------------------------------
 185
 186as they are probably more user specific than repository specific.
 187See linkgit:git-config[1] for more information about this.
 188
 189GIT
 190---
 191Part of the linkgit:git[1] suite