Implement the patience diff algorithm
[git/platforms.git] / Documentation / git-help.txt
blobd9b9c34b3a60f09bea4f9e53b5127f33f356e042
1 git-help(1)
2 ===========
4 NAME
5 ----
6 git-help - display help information about git
8 SYNOPSIS
9 --------
10 'git help' [-a|--all|-i|--info|-m|--man|-w|--web] [COMMAND]
12 DESCRIPTION
13 -----------
15 With no options and no COMMAND given, the synopsis of the 'git'
16 command and a list of the most commonly used git commands are printed
17 on the standard output.
19 If the option '--all' or '-a' is given, then all available commands are
20 printed on the standard output.
22 If a git command is named, a manual page for that command is brought
23 up. The 'man' program is used by default for this purpose, but this
24 can be overridden by other options or configuration variables.
26 Note that `git --help ...` is identical to `git help ...` because the
27 former is internally converted into the latter.
29 OPTIONS
30 -------
31 -a::
32 --all::
33         Prints all the available commands on the standard output. This
34         option supersedes any other option.
36 -i::
37 --info::
38         Display manual page for the command in the 'info' format. The
39         'info' program will be used for that purpose.
41 -m::
42 --man::
43         Display manual page for the command in the 'man' format. This
44         option may be used to override a value set in the
45         'help.format' configuration variable.
47 By default the 'man' program will be used to display the manual page,
48 but the 'man.viewer' configuration variable may be used to choose
49 other display programs (see below).
51 -w::
52 --web::
53         Display manual page for the command in the 'web' (HTML)
54         format. A web browser will be used for that purpose.
56 The web browser can be specified using the configuration variable
57 'help.browser', or 'web.browser' if the former is not set. If none of
58 these config variables is set, the 'git-web--browse' helper script
59 (called by 'git-help') will pick a suitable default. See
60 linkgit:git-web--browse[1] for more information about this.
62 CONFIGURATION VARIABLES
63 -----------------------
65 help.format
66 ~~~~~~~~~~~
68 If no command line option is passed, the 'help.format' configuration
69 variable will be checked. The following values are supported for this
70 variable; they make 'git-help' behave as their corresponding command
71 line option:
73 * "man" corresponds to '-m|--man',
74 * "info" corresponds to '-i|--info',
75 * "web" or "html" correspond to '-w|--web'.
77 help.browser, web.browser and browser.<tool>.path
78 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80 The 'help.browser', 'web.browser' and 'browser.<tool>.path' will also
81 be checked if the 'web' format is chosen (either by command line
82 option or configuration variable). See '-w|--web' in the OPTIONS
83 section above and linkgit:git-web--browse[1].
85 man.viewer
86 ~~~~~~~~~~
88 The 'man.viewer' config variable will be checked if the 'man' format
89 is chosen. The following values are currently supported:
91 * "man": use the 'man' program as usual,
92 * "woman": use 'emacsclient' to launch the "woman" mode in emacs
93 (this only works starting with emacsclient versions 22),
94 * "konqueror": use 'kfmclient' to open the man page in a new konqueror
95 tab (see 'Note about konqueror' below).
97 Values for other tools can be used if there is a corresponding
98 'man.<tool>.cmd' configuration entry (see below).
100 Multiple values may be given to the 'man.viewer' configuration
101 variable. Their corresponding programs will be tried in the order
102 listed in the configuration file.
104 For example, this configuration:
106 ------------------------------------------------
107         [man]
108                 viewer = konqueror
109                 viewer = woman
110 ------------------------------------------------
112 will try to use konqueror first. But this may fail (for example if
113 DISPLAY is not set) and in that case emacs' woman mode will be tried.
115 If everything fails, or if no viewer is configured, the viewer specified
116 in the GIT_MAN_VIEWER environment variable will be tried.  If that
117 fails too, the 'man' program will be tried anyway.
119 man.<tool>.path
120 ~~~~~~~~~~~~~~~
122 You can explicitly provide a full path to your preferred man viewer by
123 setting the configuration variable 'man.<tool>.path'. For example, you
124 can configure the absolute path to konqueror by setting
125 'man.konqueror.path'. Otherwise, 'git-help' assumes the tool is
126 available in PATH.
128 man.<tool>.cmd
129 ~~~~~~~~~~~~~~
131 When the man viewer, specified by the 'man.viewer' configuration
132 variables, is not among the supported ones, then the corresponding
133 'man.<tool>.cmd' configuration variable will be looked up. If this
134 variable exists then the specified tool will be treated as a custom
135 command and a shell eval will be used to run the command with the man
136 page passed as arguments.
138 Note about konqueror
139 ~~~~~~~~~~~~~~~~~~~~
141 When 'konqueror' is specified in the 'man.viewer' configuration
142 variable, we launch 'kfmclient' to try to open the man page on an
143 already opened konqueror in a new tab if possible.
145 For consistency, we also try such a trick if 'man.konqueror.path' is
146 set to something like 'A_PATH_TO/konqueror'. That means we will try to
147 launch 'A_PATH_TO/kfmclient' instead.
149 If you really want to use 'konqueror', then you can use something like
150 the following:
152 ------------------------------------------------
153         [man]
154                 viewer = konq
156         [man "konq"]
157                 cmd = A_PATH_TO/konqueror
158 ------------------------------------------------
160 Note about git config --global
161 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
163 Note that all these configuration variables should probably be set
164 using the '--global' flag, for example like this:
166 ------------------------------------------------
167 $ git config --global help.format web
168 $ git config --global web.browser firefox
169 ------------------------------------------------
171 as they are probably more user specific than repository specific.
172 See linkgit:git-config[1] for more information about this.
174 Author
175 ------
176 Written by Junio C Hamano <gitster@pobox.com> and the git-list
177 <git@vger.kernel.org>.
179 Documentation
180 -------------
181 Initial documentation was part of the linkgit:git[1] man page.
182 Christian Couder <chriscool@tuxfamily.org> extracted and rewrote it a
183 little. Maintenance is done by the git-list <git@vger.kernel.org>.
187 Part of the linkgit:git[1] suite