-
GIT_MERGE_VERBOSITY
A number controlling the amount of output shown bythe recursive merge strategy. Overrides merge.verbosity.See git-merge[1]
-
GIT_PAGER
This environment variable overrides
$PAGER
. If it is setto an empty string or to the value "cat", Git will not launcha pager. See also thecore.pager
option ingit-config[1].-
GIT_PROGRESS_DELAY
A number controlling how many seconds to delay before showingoptional progress indicators. Defaults to 2.
-
GIT_EDITOR
This environment variable overrides
$EDITOR
and$VISUAL
.It is used by several Git commands when, on interactive mode,an editor is to be launched. See also git-var[1]and thecore.editor
option in git-config[1].-
GIT_SEQUENCE_EDITOR
This environment variable overrides the configured Git editorwhen editing the todo list of an interactive rebase. See alsogit-rebase[1] and the
sequence.editor
option ingit-config[1].-
GIT_SSH
-
GIT_SSH_COMMAND
If either of these environment variables is set then git fetchand git push will use the specified command instead of sshwhen they need to connect to a remote system.The command-line parameters passed to the configured command aredetermined by the ssh variant. See
ssh.variant
option ingit-config[1] for details.$GIT_SSH_COMMAND
takes precedence over$GIT_SSH
, and is interpretedby 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 areneeded).Usually it is easier to configure any desired options through yourpersonal
.ssh/config
file. Please consult your ssh documentationfor further details.-
GIT_SSH_VARIANT
If this environment variable is set, it overrides Git’s autodetectionwhether
GIT_SSH
/GIT_SSH_COMMAND
/core.sshCommand
refer to OpenSSH,plink or tortoiseplink. This variable overrides the config settingssh.variant
that serves the same purpose.-
GIT_SSL_NO_VERIFY
Setting and exporting this environment variable to any valuetells Git not to verify the SSL certificate when fetching orpushing over HTTPS.
-
GIT_ATTR_SOURCE
Sets the treeish that gitattributes will be read from.
-
GIT_ASKPASS
If this environment variable is set, then Git commands which need toacquire passwords or passphrases (e.g. for HTTP or IMAP authentication)will call this program with a suitable prompt as command-line argumentand read the password from its STDOUT. See also the
core.askPass
option in git-config[1].-
GIT_TERMINAL_PROMPT
If this Boolean environment variable is set to false, git will not prompton the terminal (e.g., when asking for HTTP authentication).
-
GIT_CONFIG_GLOBAL
-
GIT_CONFIG_SYSTEM
Take the configuration from the given files instead from global orsystem-level configuration files. If
GIT_CONFIG_SYSTEM
is set, thesystem config file defined at build time (usually/etc/gitconfig
)will not be read. Likewise, ifGIT_CONFIG_GLOBAL
is set, neither$HOME/.gitconfig
nor$XDG_CONFIG_HOME/git/config
will be read. Canbe set to/dev/null
to skip reading configuration files of therespective level.-
GIT_CONFIG_NOSYSTEM
Whether to skip reading settings from the system-wide
$(prefix)/etc/gitconfig
file. This Boolean environment variable canbe used along with$HOME
and$XDG_CONFIG_HOME
to create apredictable environment for a picky script, or you can set itto true to temporarily avoid using a buggy/etc/gitconfig
file whilewaiting for someone with sufficient permissions to fix it.-
GIT_FLUSH
If this Boolean environment variable is set to true, then commands suchas git blame (in incremental mode), git rev-list, git log,git check-attr and git check-ignore willforce a flush of the output stream after each record have beenflushed. If thisvariable is set to false, the output of these commands will be doneusing completely buffered I/O. If this environment variable isnot set, Git will choose buffered or record-oriented flushingbased on whether stdout appears to be redirected to a file or not.
-
GIT_TRACE
Enables general trace messages, e.g. alias expansion, built-incommand execution and external command execution.
If this variable is set to "1", "2" or "true" (comparisonis case insensitive), trace messages will be printed tostderr.
If the variable is set to an integer value greater than 2and lower than 10 (strictly) then Git will interpret thisvalue as an open file descriptor and will try to write thetrace messages into this file descriptor.
Alternatively, if the variable is set to an absolute path(starting with a / character), Git will interpret thisas a file path and will try to append the trace messagesto it.
Unsetting the variable, or setting it to empty, "0" or"false" (case insensitive) disables trace messages.
-
GIT_TRACE_FSMONITOR
Enables trace messages for the filesystem monitor extension.See
GIT_TRACE
for available trace output options.-
GIT_TRACE_PACK_ACCESS
Enables trace messages for all accesses to any packs. For eachaccess, the pack file name and an offset in the pack isrecorded. This may be helpful for troubleshooting somepack-related performance problems.See
GIT_TRACE
for available trace output options.-
GIT_TRACE_PACKET
Enables trace messages for all packets coming in or out of agiven program. This can help with debugging object negotiationor other protocol issues. Tracing is turned off at a packetstarting with "PACK" (but see
GIT_TRACE_PACKFILE
below).SeeGIT_TRACE
for available trace output options.-
GIT_TRACE_PACKFILE
Enables tracing of packfiles sent or received by agiven program. Unlike other trace output, this trace isverbatim: no headers, and no quoting of binary data. You almostcertainly want to direct into a file (e.g.,
GIT_TRACE_PACKFILE=/tmp/my.pack
) rather than displaying it onthe terminal or mixing it with other trace output.Note that this is currently only implemented for the client sideof clones and fetches.
-
GIT_TRACE_PERFORMANCE
Enables performance related trace messages, e.g. total executiontime of each Git command.See
GIT_TRACE
for available trace output options.-
GIT_TRACE_REFS
Enables trace messages for operations on the ref database.See
GIT_TRACE
for available trace output options.-
GIT_TRACE_SETUP
Enables trace messages printing the .git, working tree and currentworking directory after Git has completed its setup phase.See
GIT_TRACE
for available trace output options.-
GIT_TRACE_SHALLOW
Enables trace messages that can help debugging fetching /cloning of shallow repositories.See
GIT_TRACE
for available trace output options.-
GIT_TRACE_CURL
Enables a curl full trace dump of all incoming and outgoing data,including descriptive information, of the git transport protocol.This is similar to doing curl
--trace-ascii
on the command line.SeeGIT_TRACE
for available trace output options.-
GIT_TRACE_CURL_NO_DATA
When a curl trace is enabled (see
GIT_TRACE_CURL
above), do not dumpdata (that is, only dump info lines and headers).-
GIT_TRACE2
Enables more detailed trace messages from the "trace2" library.Output from
GIT_TRACE2
is a simple text-based format for humanreadability.If this variable is set to "1", "2" or "true" (comparisonis case insensitive), trace messages will be printed tostderr.
If the variable is set to an integer value greater than 2and lower than 10 (strictly) then Git will interpret thisvalue as an open file descriptor and will try to write thetrace messages into this file descriptor.
Alternatively, if the variable is set to an absolute path(starting with a / character), Git will interpret thisas a file path and will try to append the trace messagesto it. If the path already exists and is a directory, thetrace messages will be written to files (one per process)in that directory, named according to the last componentof the SID and an optional counter (to avoid filenamecollisions).
In addition, if the variable is set to
af_unix:[<socket-type>:]<absolute-pathname>
, Git will tryto open the path as a Unix Domain Socket. The socket typecan be eitherstream
ordgram
.Unsetting the variable, or setting it to empty, "0" or"false" (case insensitive) disables trace messages.
See Trace2 documentationfor full details.
-
GIT_TRACE2_EVENT
This setting writes a JSON-based format that is suited for machineinterpretation.See
GIT_TRACE2
for available trace output options andTrace2 documentation for full details.-
GIT_TRACE2_PERF
In addition to the text-based messages available in
GIT_TRACE2
, thissetting writes a column-based format for understanding nestingregions.SeeGIT_TRACE2
for available trace output options andTrace2 documentation for full details.-
GIT_TRACE_REDACT
By default, when tracing is activated, Git redacts the values ofcookies, the "Authorization:" header, the "Proxy-Authorization:"header and packfile URIs. Set this Boolean environment variable to false to prevent thisredaction.
-
GIT_NO_REPLACE_OBJECTS
Setting and exporting this environment variable tells Git toignore replacement refs and do not replace Git objects.
-
GIT_LITERAL_PATHSPECS
Setting this Boolean environment variable to true will cause Git to treat allpathspecs literally, rather than as glob patterns. For example,running
GIT_LITERAL_PATHSPECS=1 git log -- '*.c'
will searchfor commits that touch the path*.c
, not any paths that theglob*.c
matches. You might want this if you are feedingliteral paths to Git (e.g., paths previously given to you bygit ls-tree
,--raw
diff output, etc).-
GIT_GLOB_PATHSPECS
Setting this Boolean environment variable to true will cause Git to treat allpathspecs as glob patterns (aka "glob" magic).
-
GIT_NOGLOB_PATHSPECS
Setting this Boolean environment variable to true will cause Git to treat allpathspecs as literal (aka "literal" magic).
-
GIT_ICASE_PATHSPECS
Setting this Boolean environment variable to true will cause Git to treat allpathspecs as case-insensitive.
-
GIT_NO_LAZY_FETCH
Setting this Boolean environment variable to true tells Gitnot to lazily fetch missing objects from the promisor remoteon demand.
-
GIT_REFLOG_ACTION
When a ref is updated, reflog entries are created to keeptrack of the reason why the ref was updated (which istypically the name of the high-level command that updatedthe ref), in addition to the old and new values of the ref.A scripted Porcelain command can use set_reflog_actionhelper function in
git-sh-setup
to set its name to thisvariable when it is invoked as the top level command by theend user, to be recorded in the body of the reflog.-
GIT_REF_PARANOIA
If this Boolean environment variable is set to false, ignore broken or badly named refs when iteratingover lists of refs. Normally Git will try to include any suchrefs, which may cause some operations to fail. This is usuallypreferable, as potentially destructive operations (e.g.,git-prune[1]) are better off aborting rather thanignoring broken refs (and thus considering the history theypoint to as not worth saving). The default value is
1
(i.e.,be paranoid about detecting and aborting all operations). Youshould not normally need to set this to0
, but it may beuseful when trying to salvage data from a corrupted repository.-
GIT_COMMIT_GRAPH_PARANOIA
When loading a commit object from the commit-graph, Git performs anexistence check on the object in the object database. This is done toavoid issues with stale commit-graphs that contain references toalready-deleted commits, but comes with a performance penalty.
The default is "false", which disables the aforementioned behavior.Setting this to "true" enables the existence check so that stale commitswill never be returned from the commit-graph at the cost of performance.
-
GIT_ALLOW_PROTOCOL
If set to a colon-separated list of protocols, behave as if
protocol.allow
is set tonever
, and each of the listedprotocols hasprotocol.<name>.allow
set toalways
(overriding any existing configuration). See the description ofprotocol.allow
in git-config[1] for more details.-
GIT_PROTOCOL_FROM_USER
Set this Boolean environment variable to false to prevent protocols used by fetch/push/clone which areconfigured to the
user
state. This is useful to restrict recursivesubmodule initialization from an untrusted repository or for programswhich feed potentially-untrusted URLS to git commands. Seegit-config[1] for more details.-
GIT_PROTOCOL
For internal use only. Used in handshaking the wire protocol.Contains a colon : separated list of keys with optional values<key>[=<value>]. Presence of unknown keys and values must beignored.
Note that servers may need to be configured to allow this variable topass over some transports. It will be propagated automatically whenaccessing local repositories (i.e.,
file://
or a filesystem path), aswell as over thegit://
protocol. For git-over-http, it should workautomatically in most configurations, but see the discussion ingit-http-backend[1]. For git-over-ssh, the ssh server may needto be configured to allow clients to pass this variable (e.g., by usingAcceptEnv GIT_PROTOCOL
with OpenSSH).This configuration is optional. If the variable is not propagated, thenclients will fall back to the original "v0" protocol (but may miss outon some performance improvements or features). This variable currentlyonly affects clones and fetches; it is not yet used for pushes (but maybe in the future).
-
GIT_OPTIONAL_LOCKS
If this Boolean environment variable is set to false, Git will complete any requested operation withoutperforming any optional sub-operations that require taking a lock.For example, this will prevent
git status
from refreshing theindex as a side effect. This is useful for processes running inthe background which do not want to cause lock contention withother operations on the repository. Defaults to1
.-
GIT_REDIRECT_STDIN
-
GIT_REDIRECT_STDOUT
-
GIT_REDIRECT_STDERR
Windows-only: allow redirecting the standard input/output/errorhandles to paths specified by the environment variables. This isparticularly useful in multi-threaded applications where thecanonical way to pass standard handles via
CreateProcess()
isnot an option because it would require the handles to be markedinheritable (and consequently every spawned process wouldinherit them, possibly blocking regular Git operations). Theprimary intended use case is to use named pipes for communication(e.g.\\.\pipe\my-git-stdin-123
).Two special values are supported:
off
will simply close thecorresponding standard handle, and ifGIT_REDIRECT_STDERR
is2>&1
, standard error will be redirected to the same handle asstandard output.-
GIT_PRINT_SHA1_ELLIPSIS
(deprecated) If set to
yes
, print an ellipsis following an(abbreviated) SHA-1 value. This affects indications ofdetached HEADs (git-checkout[1]) and the rawdiff output (git-diff[1]). Printing anellipsis in the cases mentioned is no longer consideredadequate and support for it is likely to be removed in theforeseeable future (along with the variable).
Git - git Documentation (2024)
References
Top Articles
Dine-In & To Go Menu | Famous Dave's BBQ | Chicago
45 'The Simpsons' Predictions That Came True
Academy Sports Plano Tollway
Ubg100.Gitlab
How Much Does Braum's Pay For 14 Year Olds
Evansville Craigslist Com
Ohio Road Construction Map
Webclock Hotel Effectiveness
E000E77
Kenichiro Yoshida Net Worth
Lifebridge Healthstream Login
Publix Cornstarch
Latest Posts
Leesburg Regional Medical Center Medical Records
Eerie Predictions The Simpsons Have For 2024 - Grunge
Article information
Author: Van Hayes
Last Updated:
Views: 5771
Rating: 4.6 / 5 (66 voted)
Reviews: 81% of readers found this page helpful
Author information
Name: Van Hayes
Birthday: 1994-06-07
Address: 2004 Kling Rapid, New Destiny, MT 64658-2367
Phone: +512425013758
Job: National Farming Director
Hobby: Reading, Polo, Genealogy, amateur radio, Scouting, Stand-up comedy, Cryptography
Introduction: My name is Van Hayes, I am a thankful, friendly, smiling, calm, powerful, fine, enthusiastic person who loves writing and wants to share my knowledge and understanding with you.