459842e1c2
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>
29 lines
1.5 KiB
Plaintext
29 lines
1.5 KiB
Plaintext
alias.*::
|
|
Command aliases for the linkgit:git[1] command wrapper - e.g.
|
|
after defining `alias.last = cat-file commit HEAD`, the invocation
|
|
`git last` is equivalent to `git cat-file commit HEAD`. To avoid
|
|
confusion and troubles with script usage, aliases that
|
|
hide existing Git commands are ignored. Arguments are split by
|
|
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
|
|
`git new` is equivalent to running the shell command
|
|
`gitk --all --not ORIG_HEAD`. Note that shell commands will be
|
|
executed from the top-level directory of a repository, which may
|
|
not necessarily be the current directory.
|
|
`GIT_PREFIX` is set as returned by running `git rev-parse --show-prefix`
|
|
from the original current directory. See linkgit:git-rev-parse[1].
|