Skip to content
Snippets Groups Projects
git-help.txt 6.4 KiB
Newer Older
  • Learn to ignore specific revisions
  • Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    git-help(1)
    ===========
    
    NAME
    ----
    git-help - Display help information about Git
    
    SYNOPSIS
    --------
    [verse]
    
    'git help' [-a|--all [--[no-]verbose]] [-g|--guide]
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    	   [-i|--info|-m|--man|-w|--web] [COMMAND|GUIDE]
    
    DESCRIPTION
    -----------
    
    With no options and no COMMAND or GUIDE 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, all available commands are
    printed on the standard output.
    
    If the option `--guide` or `-g` is given, a list of the useful
    Git guides is also printed on the standard output.
    
    If a command, or a guide, is given, a manual page for that command or
    guide is brought up. The 'man' program is used by default for this
    purpose, but this can be overridden by other options or configuration
    variables.
    
    
    If an alias is given, git shows the definition of the alias on
    standard output. To get the manual page for the aliased command, use
    `git COMMAND --help`.
    
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    Note that `git --help ...` is identical to `git help ...` because the
    former is internally converted into the latter.
    
    To display the linkgit:git[1] man page, use `git help git`.
    
    This page can be displayed with 'git help help' or `git help --help`
    
    OPTIONS
    -------
    -a::
    --all::
    	Prints all the available commands on the standard output. This
    	option overrides any given command or guide name.
    
    
    --verbose::
    	When used with `--all` print description for all recognized
    	commands. This is the default.
    
    -c::
    --config::
    	List all available configuration variables. This is a short
    	summary of the list in linkgit:git-config[1].
    
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    -g::
    --guides::
    	Prints a list of useful guides on the standard output. This
    	option overrides any given command or guide name.
    
    -i::
    --info::
    	Display manual page for the command in the 'info' format. The
    	'info' program will be used for that purpose.
    
    -m::
    --man::
    	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).
    
    -w::
    --web::
    	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{litdd}browse' helper script
    (called by 'git help') will pick a suitable default. See
    linkgit:git-web{litdd}browse[1] for more information about this.
    
    CONFIGURATION VARIABLES
    -----------------------
    
    help.format
    ~~~~~~~~~~~
    
    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:
    
    * "man" corresponds to '-m|--man',
    * "info" corresponds to '-i|--info',
    * "web" or "html" correspond to '-w|--web'.
    
    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{litdd}browse[1].
    
    man.viewer
    ~~~~~~~~~~
    
    The `man.viewer` configuration variable will be checked if the 'man'
    format is chosen. The following values are currently supported:
    
    * "man": use the 'man' program as usual,
    * "woman": use 'emacsclient' to launch the "woman" mode in emacs
    
      (this only works starting with emacsclient versions 22),
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    * "konqueror": use 'kfmclient' to open the man page in a new konqueror
    
      tab (see 'Note about konqueror' below).
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    
    Values for other tools can be used if there is a corresponding
    `man.<tool>.cmd` configuration entry (see below).
    
    Multiple values may be given to the `man.viewer` configuration
    variable. Their corresponding programs will be tried in the order
    listed in the configuration file.
    
    For example, this configuration:
    
    ------------------------------------------------
    	[man]
    		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, or if no viewer is configured, the viewer specified
    in the `GIT_MAN_VIEWER` environment variable will be tried.  If that
    fails too, the 'man' program will be tried anyway.
    
    man.<tool>.path
    ~~~~~~~~~~~~~~~
    
    You can explicitly provide a full path to your preferred man viewer by
    setting the configuration variable `man.<tool>.path`. For example, you
    can configure the absolute path to konqueror by setting
    'man.konqueror.path'. Otherwise, 'git help' assumes the tool is
    available in PATH.
    
    man.<tool>.cmd
    ~~~~~~~~~~~~~~
    
    When the man viewer, specified by the `man.viewer` configuration
    variables, is not among the supported ones, then the corresponding
    `man.<tool>.cmd` configuration variable will be looked up. If this
    variable exists then the specified tool will be treated as a custom
    command and a shell eval will be used to run the command with the man
    page passed as arguments.
    
    Note about konqueror
    ~~~~~~~~~~~~~~~~~~~~
    
    When 'konqueror' is specified in the `man.viewer` configuration
    variable, we launch 'kfmclient' to try to open the man page on an
    already opened konqueror in a new tab if possible.
    
    For consistency, we also try such a trick if 'man.konqueror.path' is
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    set to something like `A_PATH_TO/konqueror`. That means we will try to
    launch `A_PATH_TO/kfmclient` instead.
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    
    If you really want to use 'konqueror', then you can use something like
    the following:
    
    ------------------------------------------------
    	[man]
    		viewer = konq
    
    	[man "konq"]
    		cmd = A_PATH_TO/konqueror
    ------------------------------------------------
    
    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.
    
    GIT
    ---
    Part of the linkgit:git[1] suite