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