Nguyễn Thái Ngọc Duy | f740c8f | 2018-10-27 08:22:38 +0200 | [diff] [blame] | 1 | alias.*:: |
| 2 | Command aliases for the linkgit:git[1] command wrapper - e.g. |
Denton Liu | 01991ce | 2019-06-05 16:10:11 -0400 | [diff] [blame] | 3 | after defining `alias.last = cat-file commit HEAD`, the invocation |
| 4 | `git last` is equivalent to `git cat-file commit HEAD`. To avoid |
Nguyễn Thái Ngọc Duy | f740c8f | 2018-10-27 08:22:38 +0200 | [diff] [blame] | 5 | confusion and troubles with script usage, aliases that |
| 6 | hide existing Git commands are ignored. Arguments are split by |
Elijah Newren | ce14cc0 | 2023-10-08 06:45:09 +0000 | [diff] [blame] | 7 | spaces, the usual shell quoting and escaping are supported. |
Nguyễn Thái Ngọc Duy | f740c8f | 2018-10-27 08:22:38 +0200 | [diff] [blame] | 8 | A quote pair or a backslash can be used to quote them. |
| 9 | + |
Denton Liu | 459842e | 2019-06-05 16:10:13 -0400 | [diff] [blame] | 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. |
| 19 | + |
Nguyễn Thái Ngọc Duy | f740c8f | 2018-10-27 08:22:38 +0200 | [diff] [blame] | 20 | If the alias expansion is prefixed with an exclamation point, |
| 21 | it will be treated as a shell command. For example, defining |
Denton Liu | 01991ce | 2019-06-05 16:10:11 -0400 | [diff] [blame] | 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 |
Nguyễn Thái Ngọc Duy | f740c8f | 2018-10-27 08:22:38 +0200 | [diff] [blame] | 25 | executed from the top-level directory of a repository, which may |
| 26 | not necessarily be the current directory. |
Denton Liu | 01991ce | 2019-06-05 16:10:11 -0400 | [diff] [blame] | 27 | `GIT_PREFIX` is set as returned by running `git rev-parse --show-prefix` |
Nguyễn Thái Ngọc Duy | f740c8f | 2018-10-27 08:22:38 +0200 | [diff] [blame] | 28 | from the original current directory. See linkgit:git-rev-parse[1]. |