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