Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
git_config [2019/02/18 09:36] – [Basic configuration examples] rpjdaygit_config [2019/02/18 09:57] (current) – [Configuration sections and keys] rpjday
Line 58: Line 58:
 </code> </code>
  
-All of the above (based on specifying ''--global'') end up in your (INI-style) personal ''~/.gitconfig'' file with the form:+All of the above (based on specifying ''%%--%%global'') end up in your (INI-style) personal ''~/.gitconfig'' file with the form:
  
 <code> <code>
Line 69: Line 69:
  
 and so on. and so on.
 +
 +To delete a configuration setting, add ''%%--%%unset'':
 +
 +<code>
 +$ git config --global --unset alias.br
 +</code>
  
 ===== Three levels of configuration ===== ===== Three levels of configuration =====
Line 77: Line 83:
   * global (''~/.gitconfig'')   * global (''~/.gitconfig'')
   * local (''.git/config'') [associated with the repo itself]   * local (''.git/config'') [associated with the repo itself]
-===== Configuration sections and keys ===== 
- 
-Format of ''<section>.<key>'': 
- 
-  * ''user.name'' 
-  * ''user.email'' 
-  * ''core.editor'' 
-  * ''color.ui'' 
-  * ''format.pretty'' 
- 
-Format of ''<section>.<subsection>.<key>'': 
- 
-  * ''remote.origin.url'' 
-  * ''branch.master.merge'' 
- 
-Sections and keys are //not// case-sensitive, while (weirdly) those middle subsections //are//: 
- 
-  * ''user.name'' 
-  * ''UsEr.nAmE'' 
-  * ''REMOTE.origin.URL'' 
-  * ''BrAnCh.master.meRGE'' 
- 
-===== Three levels of configuration ===== 
  
 ==== /etc/gitconfig (--system) ==== ==== /etc/gitconfig (--system) ====
Line 113: Line 96:
 ==== ~/.gitconfig (--global) ==== ==== ~/.gitconfig (--global) ====
  
-Per-user (it would have killed them to call it ''%%--%%user''?):+Per-user:
  
 <code> <code>
Line 153: Line 136:
 </code> </code>
  
-===== Setting your configuration ===== +NOTE: If you don't specify which of the three levels you want, the operation defaults to ''%%--%%local'', which will fail if you are not inside a working tree, and is probably not what you want, anyway.
- +
-==== Global configuration ==== +
- +
-Setting globally (in personal ''~/.gitconfig''): +
- +
-<code> +
-$ git config --global user.name "Robert P. J. Day" +
-$ git config --global user.email "rpjday@crashcourse.ca" +
-$ git config --global color.ui false +
-</code> +
- +
-==== Local configuration ==== +
- +
-Setting locally (in repo'''.git/config''): +
- +
-<code> +
-$ git config [--local] gui.wmstate normal   (the default mode) +
-</code>+
  
 ===== Listing config settings ===== ===== Listing config settings =====
Line 222: Line 187:
 ===== Overriding configuration settings ===== ===== Overriding configuration settings =====
  
-==== One-time config override with -c ==== 
  
-<code> 
-$ git -c user.name="Keyser Soze" <command>... 
-</code> 
  
 ==== Environment variables ==== ==== Environment variables ====
  
-As an example, ''git commit'' searches for the editor to use when entering the commit message:+Most Git commands support environment variables for overriding configuration settings. As an example, ''git commit'' searches for the editor to use when entering the commit message:
  
   * ''GIT_EDITOR'' environment variable   * ''GIT_EDITOR'' environment variable
Line 248: Line 209:
 $ man git $ man git
 </code> </code>
 +
 +==== One-time config override with -c ====
 +
 +If you need a one-time-only override of some config setting, most Git commands support the "-c" option:
 +
 +<code>
 +$ git -c user.name="Keyser Soze" <some command>...
 +</code>
 +===== Sections and subsections =====
 +
 +Format of ''<section>.<key>'':
 +
 +  * ''user.name''
 +  * ''user.email''
 +  * ''core.editor''
 +  * ''color.ui''
 +  * ''format.pretty''
 +
 +Format of ''<section>.<subsection>.<key>'':
 +
 +  * ''remote.origin.url''
 +  * ''branch.master.merge''
 +
 +Sections and keys are //not// case-sensitive, while (weirdly) those middle subsections //are//:
 +
 +  * ''user.name''
 +  * ''UsEr.nAmE''
 +  * ''REMOTE.origin.URL''
 +  * ''BrAnCh.master.meRGE''
  • git_config.1550482570.txt.gz
  • Last modified: 2019/02/18 09:36
  • by rpjday