| Junio C Hamano | 07824ce | 2006-04-25 07:36:54 | [diff] [blame] | 1 | CONFIGURATION FILE | 
 | 2 | ------------------ | 
 | 3 |  | 
 | 4 | The git configuration file contains a number of variables that affect | 
| Junio C Hamano | 341071d | 2006-06-04 07:24:48 | [diff] [blame] | 5 | the git commands behavior. They can be used by both the git plumbing | 
| Junio C Hamano | 07824ce | 2006-04-25 07:36:54 | [diff] [blame] | 6 | and the porcelains. The variables are divided to sections, where | 
 | 7 | in the fully qualified variable name the variable itself is the last | 
 | 8 | dot-separated segment and the section name is everything before the last | 
 | 9 | dot. The variable names are case-insensitive and only alphanumeric | 
 | 10 | characters are allowed. Some variables may appear multiple times. | 
 | 11 |  | 
 | 12 | The syntax is fairly flexible and permissive; whitespaces are mostly | 
 | 13 | ignored. The '#' and ';' characters begin commends to the end of line, | 
 | 14 | blank lines are ignored, lines containing strings enclosed in square | 
 | 15 | brackets start sections and all the other lines are recognized | 
 | 16 | as setting variables, in the form 'name = value'. If there is no equal | 
 | 17 | sign on the line, the entire line is taken as 'name' and the variable | 
 | 18 | is recognized as boolean "true". String values may be entirely or partially | 
 | 19 | enclosed in double quotes; some variables may require special value format. | 
 | 20 |  | 
 | 21 | Example | 
 | 22 | ~~~~~~~ | 
 | 23 |  | 
 | 24 | # Core variables | 
 | 25 | [core] | 
 | 26 | ; Don't trust file modes | 
 | 27 | filemode = false | 
 | 28 |  | 
 | 29 | # Our diff algorithm | 
 | 30 | [diff] | 
 | 31 | external = "/usr/local/bin/gnu-diff -u" | 
 | 32 | renames = true | 
 | 33 |  | 
 | 34 | Variables | 
 | 35 | ~~~~~~~~~ | 
 | 36 |  | 
 | 37 | Note that this list is non-comprehensive and not necessarily complete. | 
 | 38 | For command-specific variables, you will find more detailed description | 
 | 39 | in the appropriate manual page. You will find description of non-core | 
 | 40 | porcelain configuration variables in the respective porcelain documentation. | 
 | 41 |  | 
 | 42 | core.fileMode:: | 
 | 43 | If false, the executable bit differences between the index and | 
 | 44 | the working copy are ignored; useful on broken filesystems like FAT. | 
 | 45 | See gitlink:git-update-index[1]. True by default. | 
 | 46 |  | 
 | 47 | core.gitProxy:: | 
 | 48 | A "proxy command" to execute (as 'command host port') instead | 
 | 49 | of establishing direct connection to the remote server when | 
 | 50 | using the git protocol for fetching. If the variable value is | 
 | 51 | in the "COMMAND for DOMAIN" format, the command is applied only | 
 | 52 | on hostnames ending with the specified domain string. This variable | 
 | 53 | may be set multiple times and is matched in the given order; | 
 | 54 | the first match wins. | 
 | 55 |  | 
| Junio C Hamano | 341071d | 2006-06-04 07:24:48 | [diff] [blame] | 56 | Can be overridden by the 'GIT_PROXY_COMMAND' environment variable | 
| Junio C Hamano | 07824ce | 2006-04-25 07:36:54 | [diff] [blame] | 57 | (which always applies universally, without the special "for" | 
 | 58 | handling). | 
 | 59 |  | 
 | 60 | core.ignoreStat:: | 
 | 61 | The working copy files are assumed to stay unchanged until you | 
 | 62 | mark them otherwise manually - Git will not detect the file changes | 
 | 63 | by lstat() calls. This is useful on systems where those are very | 
 | 64 | slow, such as Microsoft Windows. See gitlink:git-update-index[1]. | 
 | 65 | False by default. | 
 | 66 |  | 
| Junio C Hamano | 88a3a07 | 2006-05-04 08:01:43 | [diff] [blame] | 67 | core.preferSymlinkRefs:: | 
 | 68 | Instead of the default "symref" format for HEAD | 
 | 69 | and other symbolic reference files, use symbolic links. | 
 | 70 | This is sometimes needed to work with old scripts that | 
 | 71 | expect HEAD to be a symbolic link. | 
| Junio C Hamano | 07824ce | 2006-04-25 07:36:54 | [diff] [blame] | 72 |  | 
| Junio C Hamano | 341071d | 2006-06-04 07:24:48 | [diff] [blame] | 73 | core.logAllRefUpdates:: | 
 | 74 | If true, `git-update-ref` will append a line to | 
 | 75 | "$GIT_DIR/logs/<ref>" listing the new SHA1 and the date/time | 
 | 76 | of the update.	If the file does not exist it will be | 
 | 77 | created automatically.	This information can be used to | 
 | 78 | determine what commit was the tip of a branch "2 days ago". | 
 | 79 | This value is false by default (no logging). | 
 | 80 |  | 
| Junio C Hamano | 07824ce | 2006-04-25 07:36:54 | [diff] [blame] | 81 | core.repositoryFormatVersion:: | 
 | 82 | Internal variable identifying the repository format and layout | 
 | 83 | version. | 
 | 84 |  | 
 | 85 | core.sharedRepository:: | 
 | 86 | If true, the repository is made shareable between several users | 
 | 87 | in a group (making sure all the files and objects are group-writable). | 
 | 88 | See gitlink:git-init-db[1]. False by default. | 
 | 89 |  | 
 | 90 | core.warnAmbiguousRefs:: | 
 | 91 | If true, git will warn you if the ref name you passed it is ambiguous | 
 | 92 | and might match multiple refs in the .git/refs/ tree. True by default. | 
 | 93 |  | 
 | 94 | apply.whitespace:: | 
 | 95 | Tells `git-apply` how to handle whitespaces, in the same way | 
 | 96 | as the '--whitespace' option. See gitlink:git-apply[1]. | 
 | 97 |  | 
 | 98 | diff.renameLimit:: | 
 | 99 | The number of files to consider when performing the copy/rename | 
 | 100 | detection; equivalent to the git diff option '-l'. | 
 | 101 |  | 
 | 102 | format.headers:: | 
 | 103 | Additional email headers to include in a patch to be submitted | 
 | 104 | by mail. See gitlink:git-format-patch[1]. | 
 | 105 |  | 
 | 106 | gitcvs.enabled:: | 
 | 107 | Whether the cvs pserver interface is enabled for this repository. | 
 | 108 | See gitlink:git-cvsserver[1]. | 
 | 109 |  | 
 | 110 | gitcvs.logfile:: | 
 | 111 | Path to a log file where the cvs pserver interface well... logs | 
 | 112 | various stuff. See gitlink:git-cvsserver[1]. | 
 | 113 |  | 
 | 114 | http.sslVerify:: | 
 | 115 | Whether to verify the SSL certificate when fetching or pushing | 
 | 116 | over HTTPS. Can be overriden by the 'GIT_SSL_NO_VERIFY' environment | 
 | 117 | variable. | 
 | 118 |  | 
 | 119 | http.sslCert:: | 
 | 120 | File containing the SSL certificate when fetching or pushing | 
 | 121 | over HTTPS. Can be overriden by the 'GIT_SSL_CERT' environment | 
 | 122 | variable. | 
 | 123 |  | 
 | 124 | http.sslKey:: | 
 | 125 | File containing the SSL private key when fetching or pushing | 
| Junio C Hamano | 341071d | 2006-06-04 07:24:48 | [diff] [blame] | 126 | over HTTPS. Can be overridden by the 'GIT_SSL_KEY' environment | 
| Junio C Hamano | 07824ce | 2006-04-25 07:36:54 | [diff] [blame] | 127 | variable. | 
 | 128 |  | 
 | 129 | http.sslCAInfo:: | 
 | 130 | File containing the certificates to verify the peer with when | 
| Junio C Hamano | 341071d | 2006-06-04 07:24:48 | [diff] [blame] | 131 | fetching or pushing over HTTPS. Can be overridden by the | 
| Junio C Hamano | 07824ce | 2006-04-25 07:36:54 | [diff] [blame] | 132 | 'GIT_SSL_CAINFO' environment variable. | 
 | 133 |  | 
 | 134 | http.sslCAPath:: | 
 | 135 | Path containing files with the CA certificates to verify the peer | 
 | 136 | with when fetching or pushing over HTTPS. Can be overriden | 
 | 137 | by the 'GIT_SSL_CAPATH' environment variable. | 
 | 138 |  | 
 | 139 | http.maxRequests:: | 
| Junio C Hamano | 341071d | 2006-06-04 07:24:48 | [diff] [blame] | 140 | How many HTTP requests to launch in parallel. Can be overridden | 
| Junio C Hamano | 07824ce | 2006-04-25 07:36:54 | [diff] [blame] | 141 | by the 'GIT_HTTP_MAX_REQUESTS' environment variable. Default is 5. | 
 | 142 |  | 
 | 143 | http.lowSpeedLimit, http.lowSpeedTime:: | 
 | 144 | If the HTTP transfer speed is less than 'http.lowSpeedLimit' | 
 | 145 | for longer than 'http.lowSpeedTime' seconds, the transfer is aborted. | 
| Junio C Hamano | 341071d | 2006-06-04 07:24:48 | [diff] [blame] | 146 | Can be overridden by the 'GIT_HTTP_LOW_SPEED_LIMIT' and | 
| Junio C Hamano | 07824ce | 2006-04-25 07:36:54 | [diff] [blame] | 147 | 'GIT_HTTP_LOW_SPEED_TIME' environment variables. | 
 | 148 |  | 
 | 149 | i18n.commitEncoding:: | 
 | 150 | Character encoding the commit messages are stored in; git itself | 
 | 151 | does not care per se, but this information is necessary e.g. when | 
 | 152 | importing commits from emails or in the gitk graphical history | 
 | 153 | browser (and possibly at other places in the future or in other | 
 | 154 | porcelains). See e.g. gitlink:git-mailinfo[1]. Defaults to 'utf-8'. | 
 | 155 |  | 
 | 156 | merge.summary:: | 
 | 157 | Whether to include summaries of merged commits in newly created | 
 | 158 | merge commit messages. False by default. | 
 | 159 |  | 
 | 160 | pull.octopus:: | 
 | 161 | The default merge strategy to use when pulling multiple branches | 
 | 162 | at once. | 
 | 163 |  | 
 | 164 | pull.twohead:: | 
 | 165 | The default merge strategy to use when pulling a single branch. | 
 | 166 |  | 
 | 167 | show.difftree:: | 
 | 168 | The default gitlink:git-diff-tree[1] arguments to be used | 
 | 169 | for gitlink:git-show[1]. | 
 | 170 |  | 
 | 171 | showbranch.default:: | 
 | 172 | The default set of branches for gitlink:git-show-branch[1]. | 
 | 173 | See gitlink:git-show-branch[1]. | 
 | 174 |  | 
 | 175 | user.email:: | 
 | 176 | Your email address to be recorded in any newly created commits. | 
| Junio C Hamano | 341071d | 2006-06-04 07:24:48 | [diff] [blame] | 177 | Can be overridden by the 'GIT_AUTHOR_EMAIL' and 'GIT_COMMITTER_EMAIL' | 
| Junio C Hamano | 07824ce | 2006-04-25 07:36:54 | [diff] [blame] | 178 | environment variables. See gitlink:git-commit-tree[1]. | 
 | 179 |  | 
 | 180 | user.name:: | 
 | 181 | Your full name to be recorded in any newly created commits. | 
| Junio C Hamano | 341071d | 2006-06-04 07:24:48 | [diff] [blame] | 182 | Can be overridden by the 'GIT_AUTHOR_NAME' and 'GIT_COMMITTER_NAME' | 
| Junio C Hamano | 07824ce | 2006-04-25 07:36:54 | [diff] [blame] | 183 | environment variables. See gitlink:git-commit-tree[1]. | 
 | 184 |  | 
 | 185 | whatchanged.difftree:: | 
 | 186 | The default gitlink:git-diff-tree[1] arguments to be used | 
 | 187 | for gitlink:git-whatchanged[1]. | 
 | 188 |  | 
 | 189 | imap:: | 
 | 190 | The configuration variables in the 'imap' section are described | 
 | 191 | in gitlink:git-imap-send[1]. |