简体   繁体   中英

An alias for git's --pretty option string format

I know I can set an alias for git log invocation with lots of parameters.

For example, I can use this:

git config --global alias.lg "log --graph --pretty=format:'%h -%d %s (%cr) <%an>'"

to alias git log --graph --pretty=format:'%h -%d %s (%cr) <%an>' with much shorter git lg .

Is it possible to set an alias for a --pretty=format: string alone? So that I can type

git log --pretty=my_aliased_format

The git log documentation has this to say about the --pretty[=<format>] and --format=<format> options (the --format one has a required <format> name while --pretty has an optional one). This text is buried fairly far in, under the section PRETTY FORMATS :

There are several built-in formats, and you can define additional formats by setting a pretty.<name> config option to either another format name, or a format: string, as described below (see git- config(1) ). ...

Hence:

$ git config pretty.foo 'bar %H baz'              # you might want --global here
$ git log --format=foo | head -3
bar b5101f929789889c2e536d915698f58d5c5c6b7a baz
bar a562a119833b7202d5c9b9069d1abb40c1f9b59a baz
bar 7fa92ba40abbe4236226e7d91e664bbeab8c43f2 baz

Simply write your own format from the directives listed in that section, give it a name, and put that name into your configuration (local or global) and then --format=<name> will access it.

It's more typical and conventional to set lg as an alias, as in your earlier example, but this works well too.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM