Git 2.4.11
[gitweb.git] / Documentation / git.txt
index 577d634491b5706d7513a1fc84cedde199e037eb..889fa51f909bf369c5d37eb2c8d3ad5c56fa31d8 100644 (file)
@@ -43,6 +43,37 @@ unreleased) version of Git, that is available from the 'master'
 branch of the `git.git` repository.
 Documentation for older releases are available here:
 
+* link:v2.4.11/git.html[documentation for release 2.4.11]
+
+* release notes for
+  link:RelNotes/2.4.11.txt[2.4.11],
+  link:RelNotes/2.4.10.txt[2.4.10],
+  link:RelNotes/2.4.9.txt[2.4.9],
+  link:RelNotes/2.4.8.txt[2.4.8],
+  link:RelNotes/2.4.7.txt[2.4.7],
+  link:RelNotes/2.4.6.txt[2.4.6],
+  link:RelNotes/2.4.5.txt[2.4.5],
+  link:RelNotes/2.4.4.txt[2.4.4],
+  link:RelNotes/2.4.3.txt[2.4.3],
+  link:RelNotes/2.4.2.txt[2.4.2],
+  link:RelNotes/2.4.1.txt[2.4.1],
+  link:RelNotes/2.4.0.txt[2.4].
+
+* link:v2.3.10/git.html[documentation for release 2.3.10]
+
+* release notes for
+  link:RelNotes/2.3.10.txt[2.3.10],
+  link:RelNotes/2.3.9.txt[2.3.9],
+  link:RelNotes/2.3.8.txt[2.3.8],
+  link:RelNotes/2.3.7.txt[2.3.7],
+  link:RelNotes/2.3.6.txt[2.3.6],
+  link:RelNotes/2.3.5.txt[2.3.5],
+  link:RelNotes/2.3.4.txt[2.3.4],
+  link:RelNotes/2.3.3.txt[2.3.3],
+  link:RelNotes/2.3.2.txt[2.3.2],
+  link:RelNotes/2.3.1.txt[2.3.1],
+  link:RelNotes/2.3.0.txt[2.3].
+
 * link:v2.2.3/git.html[documentation for release 2.2.3]
 
 * release notes for
@@ -761,7 +792,8 @@ Git so take care if using Cogito etc.
 'GIT_INDEX_VERSION'::
        This environment variable allows the specification of an index
        version for new repositories.  It won't affect existing index
-       files.  By default index file version [23] is used.
+       files.  By default index file version 2 or 3 is used. See
+       linkgit:git-update-index[1] for more information.
 
 'GIT_OBJECT_DIRECTORY'::
        If the object storage directory is specified via this
@@ -888,19 +920,21 @@ other
        and the `core.editor` option in linkgit:git-config[1].
 
 'GIT_SSH'::
-       If this environment variable is set then 'git fetch'
-       and 'git push' will use this command instead
-       of 'ssh' when they need to connect to a remote system.
-       The '$GIT_SSH' command will be given exactly two or
-       four arguments: the 'username@host' (or just 'host')
-       from the URL and the shell command to execute on that
-       remote system, optionally preceded by '-p' (literally) and
-       the 'port' from the URL when it specifies something other
-       than the default SSH port.
+'GIT_SSH_COMMAND'::
+       If either of these environment variables is set then 'git fetch'
+       and 'git push' will use the specified command instead of 'ssh'
+       when they need to connect to a remote system.
+       The command will be given exactly two or four arguments: the
+       'username@host' (or just 'host') from the URL and the shell
+       command to execute on that remote system, optionally preceded by
+       '-p' (literally) and the 'port' from the URL when it specifies
+       something other than the default SSH port.
 +
-To pass options to the program that you want to list in GIT_SSH
-you will need to wrap the program and options into a shell script,
-then set GIT_SSH to refer to the shell script.
+`$GIT_SSH_COMMAND` takes precedence over `$GIT_SSH`, and is interpreted
+by the shell, which allows additional arguments to be included.
+`$GIT_SSH` on the other hand must be just the path to a program
+(which can be a wrapper shell script, if additional arguments are
+needed).
 +
 Usually it is easier to configure any desired options through your
 personal `.ssh/config` file.  Please consult your ssh documentation
@@ -910,9 +944,13 @@ for further details.
        If this environment variable is set, then Git commands which need to
        acquire passwords or passphrases (e.g. for HTTP or IMAP authentication)
        will call this program with a suitable prompt as command-line argument
-       and read the password from its STDOUT. See also the 'core.askpass'
+       and read the password from its STDOUT. See also the 'core.askPass'
        option in linkgit:git-config[1].
 
+'GIT_TERMINAL_PROMPT'::
+       If this environment variable is set to `0`, git will not prompt
+       on the terminal (e.g., when asking for HTTP authentication).
+
 'GIT_CONFIG_NOSYSTEM'::
        Whether to skip reading settings from the system-wide
        `$(prefix)/etc/gitconfig` file.  This environment variable can
@@ -1013,6 +1051,44 @@ GIT_ICASE_PATHSPECS::
        variable when it is invoked as the top level command by the
        end user, to be recorded in the body of the reflog.
 
+`GIT_REF_PARANOIA`::
+       If set to `1`, include broken or badly named refs when iterating
+       over lists of refs. In a normal, non-corrupted repository, this
+       does nothing. However, enabling it may help git to detect and
+       abort some operations in the presence of broken refs. Git sets
+       this variable automatically when performing destructive
+       operations like linkgit:git-prune[1]. You should not need to set
+       it yourself unless you want to be paranoid about making sure
+       an operation has touched every ref (e.g., because you are
+       cloning a repository to make a backup).
+
+`GIT_ALLOW_PROTOCOL`::
+       If set, provide a colon-separated list of protocols which are
+       allowed to be used with fetch/push/clone. This is useful to
+       restrict recursive submodule initialization from an untrusted
+       repository. Any protocol not mentioned will be disallowed (i.e.,
+       this is a whitelist, not a blacklist). If the variable is not
+       set at all, all protocols are enabled.  The protocol names
+       currently used by git are:
+
+         - `file`: any local file-based path (including `file://` URLs,
+           or local paths)
+
+         - `git`: the anonymous git protocol over a direct TCP
+           connection (or proxy, if configured)
+
+         - `ssh`: git over ssh (including `host:path` syntax,
+           `git+ssh://`, etc).
+
+         - `rsync`: git over rsync
+
+         - `http`: git over http, both "smart http" and "dumb http".
+           Note that this does _not_ include `https`; if you want both,
+           you should specify both as `http:https`.
+
+         - any external helpers are named by their protocol (e.g., use
+           `hg` to allow the `git-remote-hg` helper)
+
 
 Discussion[[Discussion]]
 ------------------------