X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-repo-config.html;h=e306688c96aa995f399d80bbf2551d555e2d5684;hb=f1d1480d8b938444a1617692e3f7df6d8e4cc911;hp=d8ffaa2b8cc94c981655487c1b8f5dc17ef07333;hpb=9c099c8cfc2a1fadd2bb15571f4d4a60bdf8f130;p=git.git
diff --git a/git-repo-config.html b/git-repo-config.html
index d8ffaa2b..e306688c 100644
--- a/git-repo-config.html
+++ b/git-repo-config.html
@@ -266,7 +266,7 @@ git-repo-config(1) Manual Page
NAME
git-repo-config -
- Get and set options in .git/config.
+ Get and set options in .git/config
@@ -278,32 +278,34 @@ git-repo-config(1) Manual Page
git-repo-config [type] --get name [value_regex]
git-repo-config [type] --get-all name [value_regex]
git-repo-config [type] --unset name [value_regex]
-git-repo-config [type] --unset-all name [value_regex]
+git-repo-config [type] --unset-all name [value_regex]
+git-repo-config -l | --list
DESCRIPTION
You can query/set/replace/unset options with this command. The name is
actually the section and the key separated by a dot, and the value will be
escaped.
-
If you want to set/unset an option which can occur on multiple lines, you
-should provide a POSIX regex for the value. If you want to handle the lines
-not matching the regex, just prepend a single exclamation mark in front
-(see EXAMPLES).
+
If you want to set/unset an option which can occur on multiple
+lines, a POSIX regexp value_regex needs to be given. Only the
+existing values that match the regexp are updated or unset. If
+you want to handle the lines that do not match the regex, just
+prepend a single exclamation mark in front (see EXAMPLES).
The type specifier can be either --int or --bool, which will make
git-repo-config ensure that the variable(s) are of the given type and
convert the value to the canonical form (simple decimal number for int,
a "true" or "false" string for bool). If no type specifier is passed,
no checks or transformations are performed on the value.
-
This command will fail if
+
This command will fail if:
-
-.git/config is invalid,
+The .git/config file is invalid,
-
-.git/config can not be written to,
+Can not write to .git/config,
-
@@ -336,8 +338,8 @@ you try to unset/set an option for which multiple lines match.
-
- Default behaviour is to replace at most one line. This replaces
- all lines matching the key (and optionally the value_regex)
+ Default behavior is to replace at most one line. This replaces
+ all lines matching the key (and optionally the value_regex).
-
@@ -359,6 +361,14 @@ you try to unset/set an option for which multiple lines match.
-
+--get-regexp
+
+ -
+
+ Like --get-all, but interprets the name as a regular expression.
+
+
+-
--unset
-
@@ -374,6 +384,14 @@ you try to unset/set an option for which multiple lines match.
Remove all matching lines from .git/config.
+-
+-l, --list
+
+-
+
+ List all variables set in .git/config.
+
+
EXAMPLE
@@ -404,11 +422,11 @@ you try to unset/set an option for which multiple lines match.
; Proxy settings
-[proxy]
- command="ssh" for "ssh://kernel.org/"
- command="proxy-command" for kernel.org
- command="myprotocol-command" for "my://"
- command=default-proxy ; for all the rest
+[core]
+ gitproxy="ssh" for "ssh://kernel.org/"
+ gitproxy="proxy-command" for kernel.org
+ gitproxy="myprotocol-command" for "my://"
+ gitproxy=default-proxy ; for all the rest
you can set the filemode to true with
@@ -420,7 +438,7 @@ to what URL they apply. Here is how to change the entry for kernel.org
to "ssh".
-
% git repo-config proxy.command '"ssh" for kernel.org' 'for kernel.org$'
+
% git repo-config core.gitproxy '"ssh" for kernel.org' 'for kernel.org$'
This makes sure that only the key/value pair for kernel.org is replaced.
To delete the entry for renames, do
@@ -428,7 +446,7 @@ to "ssh".
% git repo-config --unset diff.renames
-If you want to delete an entry for a multivar (like proxy.command above),
+
If you want to delete an entry for a multivar (like core.gitproxy above),
you have to provide a regex matching the value of exactly one line.
To query the value for a given key, do
@@ -443,24 +461,24 @@ you have to provide a regex matching the value of exactly one line.
or, to query a multivar:
-
% git repo-config --get proxy.command "for kernel.org$"
+
% git repo-config --get core.gitproxy "for kernel.org$"
If you want to know all the values for a multivar, do:
-
% git repo-config --get-all proxy.command
+
% git repo-config --get-all core.gitproxy
-
If you like to live dangerous, you can replace all proxy.commands by a
+
If you like to live dangerous, you can replace all core.gitproxy by a
new one with
-
% git repo-config --replace-all proxy.command ssh
+
% git repo-config --replace-all core.gitproxy ssh
However, if you really only want to replace the line for the default proxy,
i.e. the one without a "for …" postfix, do something like this:
-
% git repo-config proxy.command ssh '! for '
+
% git repo-config core.gitproxy ssh '! for '
To actually match only values with an exclamation mark, you have to
@@ -468,13 +486,367 @@ i.e. the one without a "for …" postfix, do something like this:
% git repo-config section.key value '[!]'
+CONFIGURATION FILE
+
+
The git configuration file contains a number of variables that affect
+the git command's behavior. They can be used by both the git plumbing
+and the porcelains. The variables are divided into sections, where
+in the fully qualified variable name the variable itself is the last
+dot-separated segment and the section name is everything before the last
+dot. The variable names are case-insensitive and only alphanumeric
+characters are allowed. Some variables may appear multiple times.
+
The syntax is fairly flexible and permissive; whitespaces are mostly
+ignored. The # and ; characters begin comments to the end of line,
+blank lines are ignored, lines containing strings enclosed in square
+brackets start sections and all the other lines are recognized
+as setting variables, in the form name = value. If there is no equal
+sign on the line, the entire line is taken as name and the variable
+is recognized as boolean "true". String values may be entirely or partially
+enclosed in double quotes; some variables may require special value format.
+
Example
+
+
+
# Core variables
+[core]
+ ; Don't trust file modes
+ filemode = false
+
+
+
+
# Our diff algorithm
+[diff]
+ external = "/usr/local/bin/gnu-diff -u"
+ renames = true
+
+
Variables
+
Note that this list is non-comprehensive and not necessarily complete.
+For command-specific variables, you will find a more detailed description
+in the appropriate manual page. You will find a description of non-core
+porcelain configuration variables in the respective porcelain documentation.
+
+-
+core.fileMode
+
+-
+
+ If false, the executable bit differences between the index and
+ the working copy are ignored; useful on broken filesystems like FAT.
+ See git-update-index(1). True by default.
+
+
+-
+core.gitProxy
+
+-
+
+ A "proxy command" to execute (as command host port) instead
+ of establishing direct connection to the remote server when
+ using the git protocol for fetching. If the variable value is
+ in the "COMMAND for DOMAIN" format, the command is applied only
+ on hostnames ending with the specified domain string. This variable
+ may be set multiple times and is matched in the given order;
+ the first match wins.
+
+Can be overridden by the GIT_PROXY_COMMAND environment variable
+(which always applies universally, without the special "for"
+handling).
+
+-
+core.ignoreStat
+
+-
+
+ The working copy files are assumed to stay unchanged until you
+ mark them otherwise manually - Git will not detect the file changes
+ by lstat() calls. This is useful on systems where those are very
+ slow, such as Microsoft Windows. See git-update-index(1).
+ False by default.
+
+
+-
+core.preferSymlinkRefs
+
+-
+
+ Instead of the default "symref" format for HEAD
+ and other symbolic reference files, use symbolic links.
+ This is sometimes needed to work with old scripts that
+ expect HEAD to be a symbolic link.
+
+
+-
+core.logAllRefUpdates
+
+-
+
+ If true, git-update-ref will append a line to
+ "$GIT_DIR/logs/<ref>" listing the new SHA1 and the date/time
+ of the update. If the file does not exist it will be
+ created automatically. This information can be used to
+ determine what commit was the tip of a branch "2 days ago".
+ This value is false by default (no logging).
+
+
+-
+core.repositoryFormatVersion
+
+-
+
+ Internal variable identifying the repository format and layout
+ version.
+
+
+-
+core.sharedRepository
+
+-
+
+ If true, the repository is made shareable between several users
+ in a group (making sure all the files and objects are group-writable).
+ See git-init-db(1). False by default.
+
+
+-
+core.warnAmbiguousRefs
+
+-
+
+ If true, git will warn you if the ref name you passed it is ambiguous
+ and might match multiple refs in the .git/refs/ tree. True by default.
+
+
+-
+alias.*
+
+-
+
+ Command aliases for the git(1) command wrapper - e.g.
+ after defining "alias.last = cat-file commit HEAD", the invocation
+ "git last" is equivalent to "git cat-file commit HEAD". To avoid
+ confusion and troubles with script usage, aliases that
+ hide existing git commands are ignored. Arguments are split by
+ spaces, the usual shell quoting and escaping is supported.
+ quote pair and a backslash can be used to quote them.
+
+
+-
+apply.whitespace
+
+-
+
+ Tells git-apply how to handle whitespaces, in the same way
+ as the --whitespace option. See git-apply(1).
+
+
+-
+diff.renameLimit
+
+-
+
+ The number of files to consider when performing the copy/rename
+ detection; equivalent to the git diff option -l.
+
+
+-
+format.headers
+
+-
+
+ Additional email headers to include in a patch to be submitted
+ by mail. See git-format-patch(1).
+
+
+-
+gitcvs.enabled
+
+-
+
+ Whether the cvs pserver interface is enabled for this repository.
+ See git-cvsserver(1).
+
+
+-
+gitcvs.logfile
+
+-
+
+ Path to a log file where the cvs pserver interface well… logs
+ various stuff. See git-cvsserver(1).
+
+
+-
+http.sslVerify
+
+-
+
+ Whether to verify the SSL certificate when fetching or pushing
+ over HTTPS. Can be overridden by the GIT_SSL_NO_VERIFY environment
+ variable.
+
+
+-
+http.sslCert
+
+-
+
+ File containing the SSL certificate when fetching or pushing
+ over HTTPS. Can be overridden by the GIT_SSL_CERT environment
+ variable.
+
+
+-
+http.sslKey
+
+-
+
+ File containing the SSL private key when fetching or pushing
+ over HTTPS. Can be overridden by the GIT_SSL_KEY environment
+ variable.
+
+
+-
+http.sslCAInfo
+
+-
+
+ File containing the certificates to verify the peer with when
+ fetching or pushing over HTTPS. Can be overridden by the
+ GIT_SSL_CAINFO environment variable.
+
+
+-
+http.sslCAPath
+
+-
+
+ Path containing files with the CA certificates to verify the peer
+ with when fetching or pushing over HTTPS. Can be overridden
+ by the GIT_SSL_CAPATH environment variable.
+
+
+-
+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.lowSpeedLimit, http.lowSpeedTime
+
+-
+
+ If the HTTP transfer speed 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.
+
+
+-
+i18n.commitEncoding
+
+-
+
+ Character encoding the commit messages are stored in; git itself
+ does not care per se, but this information is necessary e.g. when
+ importing commits from emails or in the gitk graphical history
+ browser (and possibly at other places in the future or in other
+ porcelains). See e.g. git-mailinfo(1). Defaults to utf-8.
+
+
+-
+merge.summary
+
+-
+
+ Whether to include summaries of merged commits in newly created
+ merge commit messages. False by default.
+
+
+-
+pull.octopus
+
+-
+
+ The default merge strategy to use when pulling multiple branches
+ at once.
+
+
+-
+pull.twohead
+
+-
+
+ The default merge strategy to use when pulling a single branch.
+
+
+-
+show.difftree
+
+-
+
+ The default git-diff-tree(1) arguments to be used
+ for git-show(1).
+
+
+-
+showbranch.default
+
+-
+
+ The default set of branches for git-show-branch(1).
+ See git-show-branch(1).
+
+
+-
+user.email
+
+-
+
+ Your email address to be recorded in any newly created commits.
+ Can be overridden by the GIT_AUTHOR_EMAIL and GIT_COMMITTER_EMAIL
+ environment variables. See git-commit-tree(1).
+
+
+-
+user.name
+
+-
+
+ Your full name to be recorded in any newly created commits.
+ Can be overridden by the GIT_AUTHOR_NAME and GIT_COMMITTER_NAME
+ environment variables. See git-commit-tree(1).
+
+
+-
+whatchanged.difftree
+
+-
+
+ The default git-diff-tree(1) arguments to be used
+ for git-whatchanged(1).
+
+
+-
+imap
+
+-
+
+ The configuration variables in the imap section are described
+ in git-imap-send(1).
+
+
+
+
Author
Written by Johannes Schindelin <Johannes.Schindelin@gmx.de>
Documentation
-
Documentation by Johannes Schindelin.
+
Documentation by Johannes Schindelin, Petr Baudis and the git-list <git@vger.kernel.org>.
GIT
@@ -482,7 +854,7 @@ i.e. the one without a "for …" postfix, do something like this: