Hi Denton, On Fri, 31 May 2019, Denton Liu wrote: > 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. You caught me. Granted, back in 2006, when I introduced that feature, we were not *quite* as diligent about documenting new features as we are today (see 4ab243a944a6 (Allow an alias to start with "-p", 2006-07-24)). I like your patch! Maybe you would like to mention `-p`, too, as a possible use case, as that was the original reason I introduced the feature? (To this day, the first thing I do on a new machine *right* after installing Git is to call `git config --global alias.ps '-p status'`) I'd be fine with these two patches as-are, of course. Thank you! Dscho > > Signed-off-by: Denton Liu <liu.denton@xxxxxxxxx> > --- > Documentation/config/alias.txt | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/Documentation/config/alias.txt b/Documentation/config/alias.txt > index 5425449a50..f241f03ebe 100644 > --- a/Documentation/config/alias.txt > +++ b/Documentation/config/alias.txt > @@ -7,6 +7,14 @@ 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. For example, > +`loud-rebase = -c commit.verbose=true rebase` can be defined such that > +running `git loud-merge` would be equivalent to > +`git -c commit.verbose=true rebase`. > ++ > 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 > -- > 2.22.0.rc1.169.g49223abbf8 > >