Merge branch 'jt/merge-recursive-symlink-is-not-a-dir-in-way'
[alt-git.git] / Documentation / config / alias.txt
blobf1ca739d574293fd001322a2cc272e2cc0510344
1 alias.*::
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.
10 Note that the first word of an alias does not necessarily have to be a
11 command. It can be a command-line option that will be passed into the
12 invocation of `git`. In particular, this is useful when used with `-c`
13 to 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
15 running `git loud-rebase` would be equivalent to
16 `git -c commit.verbose=true rebase`. Also, `ps = -p status` would be a
17 helpful alias since `git ps` would paginate the output of `git status`
18 where the original command does not.
20 If the alias expansion is prefixed with an exclamation point,
21 it 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
25 executed from the top-level directory of a repository, which may
26 not necessarily be the current directory.
27 `GIT_PREFIX` is set as returned by running `git rev-parse --show-prefix`
28 from the original current directory. See linkgit:git-rev-parse[1].