From 01991cee86a01bfb1dd13a7c73d1f793c0b718d3 Mon Sep 17 00:00:00 2001 From: Denton Liu Date: Wed, 5 Jun 2019 16:10:11 -0400 Subject: config/alias.txt: change " and ' to ` Before, the documentation would mix " and ' for code and config snippets. Change these instances to ` so that they are marked up in monospace. Signed-off-by: Denton Liu Signed-off-by: Junio C Hamano diff --git a/Documentation/config/alias.txt b/Documentation/config/alias.txt index 0b14178..5425449 100644 --- a/Documentation/config/alias.txt +++ b/Documentation/config/alias.txt @@ -1,7 +1,7 @@ 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 + 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. @@ -9,10 +9,10 @@ alias.*:: + 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 +`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' +`GIT_PREFIX` is set as returned by running `git rev-parse --show-prefix` from the original current directory. See linkgit:git-rev-parse[1]. -- cgit v0.10.2-6-g49f6 From 459842e1c2777812130545dc52753c6f4d517e21 Mon Sep 17 00:00:00 2001 From: Denton Liu Date: Wed, 5 Jun 2019 16:10:13 -0400 Subject: config/alias.txt: document alias accepting non-command first word 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 Signed-off-by: Junio C Hamano diff --git a/Documentation/config/alias.txt b/Documentation/config/alias.txt index 5425449..f1ca739 100644 --- a/Documentation/config/alias.txt +++ b/Documentation/config/alias.txt @@ -7,6 +7,16 @@ alias.*:: 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 -- cgit v0.10.2-6-g49f6