Home Explore Blog CI



git

2nd chunk of `Documentation/config/http.adoc`
dbffa7480a6486aa2a606e4c0df43122e38fb78d96adace70000000100000fa2
 authentication without first making an unauthenticated attempt and
	receiving a 401 response. This can be used to ensure that all requests are
	authenticated. If `http.emptyAuth` is set to true, this value has no effect.
+
If the credential helper used specifies an authentication scheme (i.e., via the
`authtype` field), that value will be used; if a username and password is
provided without a scheme, then Basic authentication is used.  The value of the
option determines the scheme requested from the helper. Possible values are:
+
--
* `basic` - Request Basic authentication from the helper.
* `auto` - Allow the helper to pick an appropriate scheme.
* `none` - Disable proactive authentication.
--
+
Note that TLS should always be used with this configuration, since otherwise it
is easy to accidentally expose plaintext credentials if Basic authentication
is selected.

http.delegation::
	Control GSSAPI credential delegation. The delegation is disabled
	by default in libcurl since version 7.21.7. Set parameter to tell
	the server what it is allowed to delegate when it comes to user
	credentials. Used with GSS/kerberos. Possible values are:
+
--
* `none` - Don't allow any delegation.
* `policy` - Delegates if and only if the OK-AS-DELEGATE flag is set in the
  Kerberos service ticket, which is a matter of realm policy.
* `always` - Unconditionally allow the server to delegate.
--


http.extraHeader::
	Pass an additional HTTP header when communicating with a server.  If
	more than one such entry exists, all of them are added as extra
	headers.  To allow overriding the settings inherited from the system
	config, an empty value will reset the extra headers to the empty list.

http.cookieFile::
	The pathname of a file containing previously stored cookie lines,
	which should be used
	in the Git http session, if they match the server. The file format
	of the file to read cookies from should be plain HTTP headers or
	the Netscape/Mozilla cookie file format (see `curl(1)`).
	Set it to an empty string, to accept only new cookies from
	the server and send them back in successive requests within same
	connection.
	NOTE that the file specified with http.cookieFile is used only as
	input unless http.saveCookies is set.

http.saveCookies::
	If set, store cookies received during requests to the file specified by
	http.cookieFile. Has no effect if http.cookieFile is unset, or set to
	an empty string.

http.version::
	Use the specified HTTP protocol version when communicating with a server.
	If you want to force the default. The available and default version depend
	on libcurl. Currently the possible values of
	this option are:

	- HTTP/2
	- HTTP/1.1

http.curloptResolve::
	Hostname resolution information that will be used first by
	libcurl when sending HTTP requests.  This information should
	be in one of the following formats:

	- [+]HOST:PORT:ADDRESS[,ADDRESS]
	- -HOST:PORT

+
The first format redirects all requests to the given `HOST:PORT`
to the provided `ADDRESS`(s). The second format clears all
previous config values for that `HOST:PORT` combination.  To
allow easy overriding of all the settings inherited from the
system config, an empty value will reset all resolution
information to the empty list.

http.sslVersion::
	The SSL version to use when negotiating an SSL connection, if you
	want to force the default.  The available and default version
	depend on whether libcurl was built against NSS or OpenSSL and the
	particular configuration of the crypto library in use. Internally
	this sets the 'CURLOPT_SSL_VERSION' option; see the libcurl
	documentation for more details on the format of this option and
	for the ssl version supported. Currently the possible values of
	this option are:

	- sslv2
	- sslv3
	- tlsv1
	- tlsv1.0
	- tlsv1.1
	- tlsv1.2
	- tlsv1.3

+
Can be overridden by the `GIT_SSL_VERSION` environment variable.
To force git to use libcurl's default ssl version and ignore any
explicit http.sslversion option, set `GIT_SSL_VERSION` to the

Title: Git HTTP Configuration Options
Summary
This section describes various Git HTTP configuration options, including proactive authentication, GSSAPI credential delegation, extra HTTP headers, cookie files, HTTP protocol version, hostname resolution, and SSL version, allowing for customization of Git's HTTP behavior.