gitcli: document that command line trumps config and env

We centrally explain that "--no-whatever" is the way to countermand the "--whatever" option. Explain that a configured default and the value specified by an environment variable can be overridden by the corresponding command line option, too. Signed-off-by: Junio C Hamano <gitster@pobox.com> Acked-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Junio C Hamano committed Jan 16, 2025 at 18:05 UTC 4ad47d2de3cf71686a0dffcdda069cbd202938bd
1 file changed +17
Documentation/gitcli.txt
+17
@@ -152,6 +152,23 @@ can use `--no-track` to override that behaviour. The same goes for `--color`
152 and `--no-color`.
153
154
155 +Options trump configuration and environment
156 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
157 +
158 +When there is a configuration variable or an environment variable
159 +that tweak the behaviour of an aspect of a Git command, and also a
160 +command line option that tweaks the same, the command line option
161 +overrides what the configuration and/or environment variable say.
162 +
163 +For example, the `user.name` configuration variable is used to
164 +specify the human-readable name used by the `git commit` command to
165 +record the author and the committer name in a newly created commit.
166 +The `GIT_AUTHOR_NAME` environment variable, if set, takes precedence
167 +when deciding what author name to record. The `--author=<author>`
168 +command line option of the `git commit` command, when given, takes
169 +precedence over these two sources of information.
170 +
171 +
172 Aggregating short options
173 ~~~~~~~~~~~~~~~~~~~~~~~~~
174 Commands that support the enhanced option parser allow you to aggregate short