Home Explore Blog CI



git

4th chunk of `Documentation/config/http.adoc`
6d8b326365b9112f933a028dc6bf21002fa780ee634970930000000100000fa7
 fetching or pushing over HTTPS.
	"PEM", "DER" are supported when using openssl or gnutls backends. "P12"
	is supported on "openssl", "schannel", "securetransport", and gnutls 8.11+.
	See also libcurl `CURLOPT_SSLCERTTYPE`. Can be overridden by the
	`GIT_SSL_CERT_TYPE` environment variable.

http.sslKeyType::
	Type of client private key used when fetching or pushing over HTTPS. (e.g.
	"PEM", "DER", or "ENG"). Only applicable when using "openssl" backend. "DER"
	is not supported with openssl. Particularly useful when set to "ENG" for
	authenticating with PKCS#11 tokens, with a PKCS#11 URL in sslCert option.
	See also libcurl `CURLOPT_SSLKEYTYPE`. Can be overridden by the
	`GIT_SSL_KEY_TYPE` environment variable.

http.schannelCheckRevoke::
	Used to enforce or disable certificate revocation checks in cURL
	when http.sslBackend is set to "schannel". Defaults to `true` if
	unset. Only necessary to disable this if Git consistently errors
	and the message is about checking the revocation status of a
	certificate. This option is ignored if cURL lacks support for
	setting the relevant SSL option at runtime.

http.schannelUseSSLCAInfo::
	As of cURL v7.60.0, the Secure Channel backend can use the
	certificate bundle provided via `http.sslCAInfo`, but that would
	override the Windows Certificate Store. Since this is not desirable
	by default, Git will tell cURL not to use that bundle by default
	when the `schannel` backend was configured via `http.sslBackend`,
	unless `http.schannelUseSSLCAInfo` overrides this behavior.

http.pinnedPubkey::
	Public key of the https service. It may either be the filename of
	a PEM or DER encoded public key file or a string starting with
	'sha256//' followed by the base64 encoded sha256 hash of the
	public key. See also libcurl 'CURLOPT_PINNEDPUBLICKEY'. git will
	exit with an error if this option is set but not supported by
	cURL.

http.sslTry::
	Attempt to use AUTH SSL/TLS and encrypted data transfers
	when connecting via regular FTP protocol. This might be needed
	if the FTP server requires it for security reasons or you wish
	to connect securely whenever remote FTP server supports it.
	Default is false since it might trigger certificate verification
	errors on misconfigured servers.

http.maxRequests::
	How many HTTP requests to launch in parallel. Can be overridden
	by the `GIT_HTTP_MAX_REQUESTS` environment variable. Default is 5.

http.minSessions::
	The number of curl sessions (counted across slots) to be kept across
	requests. They will not be ended with curl_easy_cleanup() until
	http_cleanup() is invoked. If USE_CURL_MULTI is not defined, this
	value will be capped at 1. Defaults to 1.

http.postBuffer::
	Maximum size in bytes of the buffer used by smart HTTP
	transports when POSTing data to the remote system.
	For requests larger than this buffer size, HTTP/1.1 and
	Transfer-Encoding: chunked is used to avoid creating a
	massive pack file locally.  Default is 1 MiB, which is
	sufficient for most requests.
+
Note that raising this limit is only effective for disabling chunked
transfer encoding and therefore should be used only where the remote
server or a proxy only supports HTTP/1.0 or is noncompliant with the
HTTP standard.  Raising this is not, in general, an effective solution
for most push problems, but can increase memory consumption
significantly since the entire buffer is allocated even for small
pushes.

http.lowSpeedLimit, http.lowSpeedTime::
	If the HTTP transfer speed, in bytes per second, is less than
	'http.lowSpeedLimit' for longer than 'http.lowSpeedTime' seconds,
	the transfer is aborted.
	Can be overridden by the `GIT_HTTP_LOW_SPEED_LIMIT` and
	`GIT_HTTP_LOW_SPEED_TIME` environment variables.

http.keepAliveIdle::
	Specifies how long in seconds to wait on an idle connection
	before sending TCP keepalive probes (if supported by the OS). If
	unset, curl's default value is used. Can be overridden by the
	`GIT_HTTP_KEEPALIVE_IDLE` environment variable.

http.keepAliveInterval::
	Specifies

Title: Git HTTP Configuration Options
Summary
This section describes various Git HTTP configuration options, including settings for SSL/TLS, certificate verification, parallel requests, session management, data transfer, and connection keepalive, allowing for customization of Git's HTTP behavior and performance.