]> git.ipfire.org Git - thirdparty/git.git/blame - Documentation/config/alias.txt
Merge branch 'js/default-branch-name'
[thirdparty/git.git] / Documentation / config / alias.txt
CommitLineData
f740c8f1
NTND
1alias.*::
2 Command aliases for the linkgit:git[1] command wrapper - e.g.
01991cee
DL
3 after defining `alias.last = cat-file commit HEAD`, the invocation
4 `git last` is equivalent to `git cat-file commit HEAD`. To avoid
f740c8f1
NTND
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+
459842e1
DL
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+
f740c8f1
NTND
20If the alias expansion is prefixed with an exclamation point,
21it will be treated as a shell command. For example, defining
01991cee
DL
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
f740c8f1
NTND
25executed from the top-level directory of a repository, which may
26not necessarily be the current directory.
01991cee 27`GIT_PREFIX` is set as returned by running `git rev-parse --show-prefix`
f740c8f1 28from the original current directory. See linkgit:git-rev-parse[1].