Documentation / pretty-formats.txton commit hash-object: cleanup handling of command line options (8a2f5e5)
   1PRETTY FORMATS
   2--------------
   3
   4If the commit is a merge, and if the pretty-format
   5is not 'oneline', 'email' or 'raw', an additional line is
   6inserted before the 'Author:' line.  This line begins with
   7"Merge: " and the sha1s of ancestral commits are printed,
   8separated by spaces.  Note that the listed commits may not
   9necessarily be the list of the *direct* parent commits if you
  10have limited your view of history: for example, if you are
  11only interested in changes related to a certain directory or
  12file.
  13
  14Here are some additional details for each format:
  15
  16* 'oneline'
  17
  18          <sha1> <title line>
  19+
  20This is designed to be as compact as possible.
  21
  22* 'short'
  23
  24          commit <sha1>
  25          Author: <author>
  26
  27              <title line>
  28
  29* 'medium'
  30
  31          commit <sha1>
  32          Author: <author>
  33          Date: <date>
  34
  35              <title line>
  36
  37              <full commit message>
  38
  39* 'full'
  40
  41          commit <sha1>
  42          Author: <author>
  43          Commit: <committer>
  44
  45              <title line>
  46
  47              <full commit message>
  48
  49* 'fuller'
  50
  51          commit <sha1>
  52          Author: <author>
  53          AuthorDate: <date & time>
  54          Commit: <committer>
  55          CommitDate: <date & time>
  56
  57               <title line>
  58
  59               <full commit message>
  60
  61* 'email'
  62
  63          From <sha1> <date>
  64          From: <author>
  65          Date: <date & time>
  66          Subject: [PATCH] <title line>
  67
  68          <full commit message>
  69
  70* 'raw'
  71+
  72The 'raw' format shows the entire commit exactly as
  73stored in the commit object.  Notably, the SHA1s are
  74displayed in full, regardless of whether --abbrev or
  75--no-abbrev are used, and 'parents' information show the
  76true parent commits, without taking grafts nor history
  77simplification into account.
  78
  79* 'format:'
  80+
  81The 'format:' format allows you to specify which information
  82you want to show. It works a little bit like printf format,
  83with the notable exception that you get a newline with '%n'
  84instead of '\n'.
  85+
  86E.g, 'format:"The author of %h was %an, %ar%nThe title was >>%s<<%n"'
  87would show something like this:
  88+
  89-------
  90The author of fe6e0ee was Junio C Hamano, 23 hours ago
  91The title was >>t4119: test autocomputing -p<n> for traditional diff input.<<
  92
  93--------
  94+
  95The placeholders are:
  96
  97- '%H': commit hash
  98- '%h': abbreviated commit hash
  99- '%T': tree hash
 100- '%t': abbreviated tree hash
 101- '%P': parent hashes
 102- '%p': abbreviated parent hashes
 103- '%an': author name
 104- '%ae': author email
 105- '%ad': author date
 106- '%aD': author date, RFC2822 style
 107- '%ar': author date, relative
 108- '%at': author date, UNIX timestamp
 109- '%ai': author date, ISO 8601 format
 110- '%cn': committer name
 111- '%ce': committer email
 112- '%cd': committer date
 113- '%cD': committer date, RFC2822 style
 114- '%cr': committer date, relative
 115- '%ct': committer date, UNIX timestamp
 116- '%ci': committer date, ISO 8601 format
 117- '%e': encoding
 118- '%s': subject
 119- '%b': body
 120- '%Cred': switch color to red
 121- '%Cgreen': switch color to green
 122- '%Cblue': switch color to blue
 123- '%Creset': reset color
 124- '%m': left, right or boundary mark
 125- '%n': newline