config/alias.txt: document alias accepting non-command first word
authorDenton Liu <liu.denton@gmail.com>
Wed, 5 Jun 2019 20:10:13 +0000 (16:10 -0400)
committerJunio C Hamano <gitster@pobox.com>
Thu, 6 Jun 2019 16:33:42 +0000 (09:33 -0700)
One can see that an alias that begins with a non-command first word,
such as `loud-rebase = -c commit.verbose=true rebase`, is permitted.
However, this isn't immediately obvious to users as alias instances
typically begin with a command.

Document the fact that an alias can begin with a non-command first word
so that users will be able to discover that this is a feature.

Signed-off-by: Denton Liu <liu.denton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/config/alias.txt
index 5425449a50954e3ea912c24a1eb83afeaf909e91..f1ca739d574293fd001322a2cc272e2cc0510344 100644 (file)
@@ -7,6 +7,16 @@ alias.*::
        spaces, the usual shell quoting and escaping is supported.
        A quote pair or a backslash can be used to quote them.
 +
+Note that the first word of an alias does not necessarily have to be a
+command. It can be a command-line option that will be passed into the
+invocation of `git`. In particular, this is useful when used with `-c`
+to pass in one-time configurations or `-p` to force pagination. For example,
+`loud-rebase = -c commit.verbose=true rebase` can be defined such that
+running `git loud-rebase` would be equivalent to
+`git -c commit.verbose=true rebase`. Also, `ps = -p status` would be a
+helpful alias since `git ps` would paginate the output of `git status`
+where the original command does not.
++
 If the alias expansion is prefixed with an exclamation point,
 it will be treated as a shell command.  For example, defining
 `alias.new = !gitk --all --not ORIG_HEAD`, the invocation