Title: Theory / Important / CS / Softw / VCS / Git / Config
Tags: hasNotNewEffectReturnsMeaning FromInstruction computer_to_instruction fromCommand some_instruction FromVariables hasSeenConjDef

Name: Config files
Definition: /etc/gitconfig for all users, configured using --system
Chapter: 1
Section: 6
Definition2: ~/.gitconfig or ~/.config/git/config, for this user, accessed using --global
Conjdef: in priority order
Definition3: .git/config Specific to a repository

Fla: config --list
Effect: list all settings
Prefix: git
Chapter: 1
Section: 6

Fla: config key
Effect: The value associated to key in the config
Prefix: git
Chapter: 1
Section: 6

Variable: .git/config
Meaning: project-specific configuration options
Page: https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain
Context: git
Section: 1
Chapter: 10

Fla: --show-origin
Effect: show the origin of each config
Page: https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup
Prefix: git config --list

Fla: -f file
Effect: Save configuration in file file
Page: https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git
Prefix: git config
Chapter: 7
Section: 11
Intuition: to share them with other contributors, to be specific to .gitmodules e.g.

Fla: --config-env=settingName=envVar
Effect: set settingName to the environment variable envVar
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Prefix: git
Chapter: A3
Section: 6

Fla: --git=foo
Effect: Ensure that the value can be canonized to type foo
Page: https://git-scm.com/docs/git-config
Prefix: git config
Context: git

Fla: -no-type
Effect: unset a --type set to a value
Page: https://git-scm.com/docs/git-config
Prefix: git config
Context: git

Question: valid git config type
Answer: bool
Page: https://git-scm.com/docs/git-config
Context: git
Answer2: int
Answer3: bool-or-int
Answer4: ath
Answer5: expiry-date
Answer6: color

Fla: --system
Effect: consider the value on system config (machine level, not user specific)
Page: https://git-scm.com/docs/git-config
Prefix: git config
Context: git

Fla: --global
Effect: consider the value on user level config
Page: https://git-scm.com/docs/git-config
Prefix: git config
Context: git

Fla: --file filename
Effect: consider the value in the config filename
Page: https://git-scm.com/docs/git-config
Prefix: git config
Flag abbreviation: -f filename
Context: git

Fla: --local
Effect: consider only the value on local (.git) config
Page: https://git-scm.com/docs/git-config
Prefix: git config
Context: git
Extra: It's default

Fla: --replace-all
Effect: replace all values matching the key.
Page: https://git-scm.com/docs/git-config
Prefix: git config
Context: git
Assuming: a write operation

Fla: --add
Effect: Adds a new line to the option without altering any existing values.
Page: https://git-scm.com/docs/git-config
Prefix: git config
Context: git
Assuming: a write operation

Fla: --get key
Effect: get the last value for a key. Error if key is not found.
Page: https://git-scm.com/docs/git-config
Prefix: git config
Context: git
Assuming: a write operation

Fla: --get-all key
Effect: return all values for keys
Page: https://git-scm.com/docs/git-config
Prefix: git config
Context: git
Assuming: a write operation

Fla: --get-regexp
Effect: Like --get-all, but interprets the name as a regular expression and writes out the key names.
Page: https://git-scm.com/docs/git-config
Prefix: git config
Context: git
Assuming: a write operation

Fla: --get-urlmatch <name> <URL>
Effect: When given a two-part name section.key, the value for section.<URL>.key whose <URL> part matches the best to the given URL is returned (if no such key exists, the value for section.key is used as a fallback). When given just the section as name, do so for all the keys in the section and list them. Returns error code 1 if no value is found.
Page: https://git-scm.com/docs/git-config
Prefix: git config
Context: git
Assuming: a write operation

Fla: --blob blob
Effect: consider the value in the config blob
Page: https://git-scm.com/docs/git-config
Prefix: git config
Context: git

Fla: --remove-section
Effect: remove the given section from the configuration file
Page: https://git-scm.com/docs/git-config
Prefix: git config
Context: git

Fla: --rename-section
Effect: rename the given section to a new name
Page: https://git-scm.com/docs/git-config
Prefix: git config
Context: git

Fla: --unset
Effect: remove the line matching the key from configuration file
Page: https://git-scm.com/docs/git-config
Prefix: git config
Context: git

Fla: --unset-all
Effect: remove all lines matching the key from the config file
Page: https://git-scm.com/docs/git-config
Prefix: git config
Context: git

Fla: --list
Effect: List all variables set in config file, along with their values.
Page: https://git-scm.com/docs/git-config
Prefix: git config
Flag abbreviation: -l
Context: git

Fla: --fixed-value
Effect: When used with the value-pattern argument, treat value-pattern as an exact string instead of a regular expression.
Page: https://git-scm.com/docs/git-config
Prefix: git config
Context: git

Fla: --null
Effect: For all options that output values and/or keys, always end values with the null character (instead of a newline)
Page: https://git-scm.com/docs/git-config
Prefix: git config
Flag abbreviation: -z
Context: git

Fla: --name-only
Effect: Output only the names of config variables for --list or --get-regexp.
Page: https://git-scm.com/docs/git-config
Prefix: git config
Context: git

Fla: --show-origin
Effect: Augment the output of all queried config options with the origin type (file, standard input, blob, command line) and the actual origin (config file path, ref, or blob id if applicable).
Page: https://git-scm.com/docs/git-config
Prefix: git config
Context: git

Fla: --show-scope
Effect: augments the output of all queried config options with the scope of that value (local, global, system, command).
Page: https://git-scm.com/docs/git-config
Prefix: git config
Context: git

Fla: --get-colorbool <name> [<stdout-is-tty>]
Page: https://git-scm.com/docs/git-config
Prefix: git config
Context: git
Print: Find the color setting for <name> (e.g. color.diff) and output "true" or "false".

Fla: --edit
Effect: Opens an editor to modify the specified config file; either --system, --global, or repository (default).
Page: https://git-scm.com/docs/git-config
Prefix: git config
Flag abbreviation: -e
Context: git

Fla: --includes
Effect: Respect include.* directives in config files when looking up values
Page: https://git-scm.com/docs/git-config
Prefix: git config
Context: git

Fla: --no-include
Effect: Do not respect include.* directives in config files when looking up values. This is the default
Page: https://git-scm.com/docs/git-config
Prefix: git config
Context: git

Fla: --default value
Effect: the value to return during a get if the value is missing
Page: https://git-scm.com/docs/git-config
Prefix: git config
Context: git

Name: The variable name of part_1.part_2.....part_n
Definition: part_n
Page: https://git-scm.com/docs/git-config
Variables: part_1.part_2.....part_n
Context: git

Name: The section name of part_1.part_2.....part_n
Definition: part_1.part_2.....part_{n-1}
Page: https://git-scm.com/docs/git-config
Variables: part_1.part_2.....part_n
Context: git

Question: The falsy values of git config
Answer: no off false 0 ""
Page: https://git-scm.com/docs/git-config
Context: git config

Question: The truthy values of git config
Answer: yes, on, true, 1, and a set value without "=value"
Page: https://git-scm.com/docs/git-config
Context: git config

Question: Todo (maybe)
Answer: list of variable
Page: https://git-scm.com/docs/git-config
Context: git config