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:30] – [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 end up in your (INI-style) personal ''~/.gitconfig'' file in 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.
-===== Configuration sections and keys ===== 
  
-Format of ''<section>.<key>'':+To delete a configuration setting, add ''%%--%%unset'':
  
-  * ''user.name'' +<code> 
-  * ''user.email'' +$ git config --global --unset alias.br 
-  * ''core.editor'' +</code>
-  * ''color.ui'' +
-  * ''format.pretty''+
  
-Format of ''<section>.<subsection>.<key>'':+===== Three levels of configuration =====
  
-  * ''remote.origin.url'' +In order of processing (later settings override earlier ones):
-  * ''branch.master.merge''+
  
-Sections and keys are //not// case-sensitive, while (weirdly) those middle subsections //are//: +  * system (''/etc/gitconfig'') 
- +  * global (''~/.gitconfig'') 
-  * ''user.name'' +  * local (''.git/config'') [associated with the repo itself]
-  * ''UsEr.nAmE'' +
-  * ''REMOTE.origin.URL'' +
-  * ''BrAnCh.master.meRGE'' +
- +
-===== Three levels of configuration =====+
  
 ==== /etc/gitconfig (--system) ==== ==== /etc/gitconfig (--system) ====
Line 105: Line 96:
 ==== ~/.gitconfig (--global) ==== ==== ~/.gitconfig (--global) ====
  
-Per-user (it would have killed them to call it ''%%--%%user''?):+Per-user:
  
 <code> <code>
Line 145: 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 214: 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 240: 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.1550482201.txt.gz
  • Last modified: 2019/02/18 09:30
  • by rpjday