| git-repo-config(1) |
| ================== |
| |
| NAME |
| ---- |
| git-repo-config - Get and set options in .git/config. |
| |
| |
| SYNOPSIS |
| -------- |
| 'git-repo-config' name [value [value_regex]] |
| 'git-repo-config' --replace-all name [value [value_regex]] |
| 'git-repo-config' --get name [value_regex] |
| 'git-repo-config' --get-all name [value_regex] |
| 'git-repo-config' --unset name [value_regex] |
| 'git-repo-config' --unset-all name [value_regex] |
| |
| 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 occor 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 exlamation mark in front |
| (see EXAMPLES). |
| |
| This command will fail if |
| |
| . .git/config is invalid, |
| . .git/config can not be written to, |
| . no section was provided, |
| . the section or key is invalid, |
| . you try to unset an option which does not exist, or |
| . you try to unset/set an option for which multiple lines match. |
| |
| |
| OPTIONS |
| ------- |
| |
| --replace-all:: |
| Default behaviour is to replace at most one line. This replaces |
| all lines matching the key (and optionally the value_regex) |
| |
| --get:: |
| Get the value for a given key (optionally filtered by a regex |
| matching the value). |
| |
| --get-all:: |
| Like get, but does not fail if the number of values for the key |
| is not exactly one. |
| |
| --unset:: |
| Remove the line matching the key from .git/config. |
| |
| --unset-all:: |
| Remove all matching lines from .git/config. |
| |
| |
| EXAMPLE |
| ------- |
| |
| Given a .git/config like this: |
| |
| # |
| # This is the config file, and |
| # a '#' or ';' character indicates |
| # a comment |
| # |
| |
| ; core variables |
| [core] |
| ; Don't trust file modes |
| filemode = false |
| |
| ; Our diff algorithm |
| [diff] |
| external = "/usr/local/bin/gnu-diff -u" |
| renames = true |
| |
| ; 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 |
| |
| you can set the filemode to true with |
| |
| ------------ |
| % git repo-config core.filemode true |
| ------------ |
| |
| The hypothetic proxy command entries actually have a postfix to discern |
| 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$' |
| ------------ |
| |
| This makes sure that only the key/value pair for kernel.org is replaced. |
| |
| To delete the entry for renames, do |
| |
| ------------ |
| % git repo-config --unset diff.renames |
| ------------ |
| |
| If you want to delete an entry for a multivar (like proxy.command above), |
| you have to provide a regex matching the value of exactly one line. |
| |
| To query the value for a given key, do |
| |
| ------------ |
| % git repo-config --get core.filemode |
| ------------ |
| |
| or |
| |
| ------------ |
| % git repo-config core.filemode |
| ------------ |
| |
| or, to query a multivar: |
| |
| ------------ |
| % git repo-config --get proxy.command "for kernel.org$" |
| ------------ |
| |
| If you want to know all the values for a multivar, do: |
| |
| ------------ |
| % git repo-config --get-all proxy.command |
| ------------ |
| |
| If you like to live dangerous, you can replace *all* proxy.commands by a |
| new one with |
| |
| ------------ |
| % git repo-config --replace-all proxy.command 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 ' |
| ------------ |
| |
| To actually match only values with an exclamation mark, you have to |
| |
| ------------ |
| % git repo-config section.key value '[!]' |
| ------------ |
| |
| |
| Author |
| ------ |
| Written by Johannes Schindelin <Johannes.Schindelin@gmx.de> |
| |
| Documentation |
| -------------- |
| Documentation by Johannes Schindelin. |
| |
| GIT |
| --- |
| Part of the gitlink:git[7] suite |
| |