git help [-a|--all|-i|--info|-m|--man|-w|--web] [COMMAND]


With no options and no COMMAND given, the synopsis of the git command and a list of the most commonly used git commands are printed on the standard output.

If the option --all or -a is given, then all available commands are printed on the standard output.

If a git command is named, a manual page for that command is brought up. The man program is used by default for this purpose, but this can be overridden by other options or configuration variables.

Note that git --help … is identical as git help … because the former is internally converted into the latter.



Prints all the available commands on the standard output. This option supersedes any other option.


Display manual page for the command in the info format. The info program will be used for that purpose.


Display manual page for the command in the man format. This option may be used to override a value set in the help.format configuration variable.

By default the man program will be used to display the manual page, but the man.viewer configuration variable may be used to choose other display programs (see below).


Display manual page for the command in the web (HTML) format. A web browser will be used for that purpose.

The web browser can be specified using the configuration variable help.browser, or web.browser if the former is not set. If none of these config variables is set, the git-web—browse helper script (called by git-help) will pick a suitable default. See linkgit:git-web—browse[1] for more information about this.



If no command line option is passed, the help.format configuration variable will be checked. The following values are supported for this variable; they make git-help behave as their corresponding command line option:

help.browser, web.browser and browser.<tool>.path

The help.browser, web.browser and browser.<tool>.path will also be checked if the web format is chosen (either by command line option or configuration variable). See -w|--web in the OPTIONS section above and linkgit:git-web—browse[1].


The man.viewer config variable will be checked if the man format is chosen. Only the following values are currently supported:

Multiple values may be given to this configuration variable. Their corresponding programs will be tried in the order listed in the configuration file.

For example, this configuration:

        viewer = konqueror
        viewer = woman

will try to use konqueror first. But this may fail (for example if DISPLAY is not set) and in that case emacs' woman mode will be tried.

If everything fails the man program will be tried anyway.

Note about git config --global

Note that all these configuration variables should probably be set using the --global flag, for example like this:

$ git config --global help.format web
$ git config --global web.browser firefox

as they are probably more user specific than repository specific. See linkgit:git-config[1] for more information about this.


Written by Junio C Hamano <> and the git-list <>.


Initial documentation was part of the linkgit:git[7] man page. Christian Couder <> extracted and rewrote it a little. Maintenance is done by the git-list <>.


Part of the linkgit:git[7] suite