Documentation / config / alias.txton commit general improvements (43abf13)
   1alias.*::
   2        Command aliases for the linkgit:git[1] command wrapper - e.g.
   3        after defining `alias.last = cat-file commit HEAD`, the invocation
   4        `git last` is equivalent to `git cat-file commit HEAD`. To avoid
   5        confusion and troubles with script usage, aliases that
   6        hide existing Git commands are ignored. Arguments are split by
   7        spaces, the usual shell quoting and escaping is supported.
   8        A quote pair or a backslash can be used to quote them.
   9+
  10Note that the first word of an alias does not necessarily have to be a
  11command. It can be a command-line option that will be passed into the
  12invocation of `git`. In particular, this is useful when used with `-c`
  13to pass in one-time configurations or `-p` to force pagination. For example,
  14`loud-rebase = -c commit.verbose=true rebase` can be defined such that
  15running `git loud-rebase` would be equivalent to
  16`git -c commit.verbose=true rebase`. Also, `ps = -p status` would be a
  17helpful alias since `git ps` would paginate the output of `git status`
  18where the original command does not.
  19+
  20If the alias expansion is prefixed with an exclamation point,
  21it will be treated as a shell command.  For example, defining
  22`alias.new = !gitk --all --not ORIG_HEAD`, the invocation
  23`git new` is equivalent to running the shell command
  24`gitk --all --not ORIG_HEAD`.  Note that shell commands will be
  25executed from the top-level directory of a repository, which may
  26not necessarily be the current directory.
  27`GIT_PREFIX` is set as returned by running `git rev-parse --show-prefix`
  28from the original current directory. See linkgit:git-rev-parse[1].