git-show man page on OpenBSD

Man page or keyword search:  
man Server   11362 pages
apropos Keyword Search (all sections)
Output format
OpenBSD logo
[printable version]



GIT-SHOW(1)					      GIT-SHOW(1)

NAME
       git-show - Show various types of objects

SYNOPSIS
       git show [options] <object>...

DESCRIPTION
       Shows one or more objects (blobs, trees, tags and commits).

       For commits it shows the log message and textual diff. It also presents
       the merge commit in a special format as produced by git diff-tree --cc.

       For tags, it shows the tag message and the referenced objects.

       For  trees,  it	shows  the  names  (equivalent	to  git	 ls-tree  with
       --name-only).

       For plain blobs, it shows the plain contents.

       The command takes options applicable to the git	diff-tree  command  to
       control how the changes the commit introduces are shown.

       This manual page describes only the most frequently used options.

OPTIONS
       <object>...
	      The  names  of objects to show. For a more complete list of ways
	      to spell object names, see  "SPECIFYING  REVISIONS"  section  in
	      gitrevisions(7).

       --pretty[=<format>], --format=<format>
	      Pretty-print  the contents of the commit logs in a given format,
	      where <format> can be  one  of  oneline,	short,	medium,	 full,
	      fuller, email, raw and format:<string>. See the "PRETTY FORMATS"
	      section for some additional details for each format. When	 omit-
	      ted, the format defaults to medium.

	      Note:  you  can specify the default pretty format in the reposi-
	      tory configuration (see git-config(1)).

       --abbrev-commit
	      Instead of showing the full 40-byte  hexadecimal	commit	object
	      name,  show  only a partial prefix. Non default number of digits
	      can be specified with "--abbrev=<n>" (which also	modifies  diff

								1

GIT-SHOW(1)					      GIT-SHOW(1)

	      output, if it is displayed).

	      This  should  make  "--pretty=oneline" a whole lot more readable
	      for people using 80-column terminals.

       --oneline
	      This is a shorthand for "--pretty=oneline --abbrev-commit"  used
	      together.

       --encoding[=<encoding>]
	      The  commit objects record the encoding used for the log message
	      in their encoding header; this option can be used	 to  tell  the
	      command  to  re-code the commit log message in the encoding pre-
	      ferred by the user. For non plumbing commands this  defaults  to
	      UTF-8.

       --no-notes, --show-notes[=<ref>]
	      Show the notes (see git-notes(1)) that annotate the commit, when
	      showing the commit log message. This is the default for git log,
	      git show and git whatchanged commands when there is no --pretty,
	      --format nor --oneline option is given on the command line.

	      With an optional argument, add this ref to the  list  of	notes.
	      The ref is taken to be in refs/notes/ if it is not qualified.

       --[no-]standard-notes
	      Enable  or  disable  populating  the  notes  ref	list  from the
	      core.notesRef and notes.displayRef variables  (or	 corresponding
	      environment overrides). Enabled by default. See git-config(1).

PRETTY FORMATS
       If  the	commit	is  a  merge, and if the pretty-format is not oneline,
       email or raw, an additional line is inserted before the	Author:	 line.
       This  line begins with "Merge: " and the sha1s of ancestral commits are
       printed, separated by spaces. Note that the listed commits may not nec-
       essarily	 be  the list of the direct parent commits if you have limited
       your view of history: for  example,  if	you  are  only	interested  in
       changes related to a certain directory or file.

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

       o   oneline

								2

GIT-SHOW(1)					      GIT-SHOW(1)

	  <sha1> <title line>
	  This is designed to be as compact as possible.

       o   short

	  commit <sha1>
	  Author: <author>

	  <title line>

       o   medium

	  commit <sha1>
	  Author: <author>
	  Date:	  <author date>

	  <title line>

	  <full commit message>

       o   full

	  commit <sha1>
	  Author: <author>
	  Commit: <committer>

	  <title line>

	  <full commit message>

       o   fuller

	  commit <sha1>
	  Author:     <author>
	  AuthorDate: <author date>
	  Commit:     <committer>
	  CommitDate: <committer date>

	  <title line>

	  <full commit message>

       o   email

	  From <sha1> <date>
	  From: <author>
	  Date: <author date>
	  Subject: [PATCH] <title line>

	  <full commit message>

       o   raw

	  The raw format shows the entire commit  exactly  as  stored  in  the

								3

GIT-SHOW(1)					      GIT-SHOW(1)

	  commit  object. Notably, the SHA1s are displayed in full, regardless
	  of whether --abbrev or --no-abbrev are used, and parents information
	  show the true parent commits, without taking grafts nor history sim-
	  plification into account.

       o   format:<string>

	  The format:<string> format allows you to specify  which  information
	  you want to show. It works a little bit like printf format, with the
	  notable exception that you get a newline with %n instead of \n.

	  E.g, format:"The author of %h was %an, %ar%nThe title was  >>%s<<%n"
	  would show something like this:

	  .ft C
	  The author of fe6e0ee was Junio C Hamano, 23 hours ago
	  The title was >>t4119: test autocomputing -p<n> for traditional diff input.<<
	  .ft

	  The placeholders are:

	  o   %H: commit hash

	  o   %h: abbreviated commit hash

	  o   %T: tree hash

	  o   %t: abbreviated tree hash

	  o   %P: parent hashes

	  o   %p: abbreviated parent hashes

	  o   %an: author name

	  o    %aN:  author  name (respecting .mailmap, see git-shortlog(1) or
	     git-blame(1))

	  o   %ae: author email

	  o   %aE: author email (respecting .mailmap, see  git-shortlog(1)  or
	     git-blame(1))

	  o   %ad: author date (format respects --date= option)

	  o   %aD: author date, RFC2822 style

	  o   %ar: author date, relative

								4

GIT-SHOW(1)					      GIT-SHOW(1)

	  o   %at: author date, UNIX timestamp

	  o   %ai: author date, ISO 8601 format

	  o   %cn: committer name

	  o   %cN: committer name (respecting .mailmap, see git-shortlog(1) or
	     git-blame(1))

	  o   %ce: committer email

	  o   %cE: committer email (respecting .mailmap,  see  git-shortlog(1)
	     or git-blame(1))

	  o   %cd: committer date

	  o   %cD: committer date, RFC2822 style

	  o   %cr: committer date, relative

	  o   %ct: committer date, UNIX timestamp

	  o   %ci: committer date, ISO 8601 format

	  o   %d: ref names, like the --decorate option of git-log(1)

	  o   %e: encoding

	  o   %s: subject

	  o   %f: sanitized subject line, suitable for a filename

	  o   %b: body

	  o   %B: raw body (unwrapped subject and body)

	  o   %N: commit notes

	  o   %gD: reflog selector, e.g., refs/stash@\{1\}

	  o   %gd: shortened reflog selector, e.g., stash@\{1\}

	  o   %gs: reflog subject

	  o   %Cred: switch color to red

	  o   %Cgreen: switch color to green

	  o   %Cblue: switch color to blue

	  o   %Creset: reset color

	  o    %C(...):	 color	specification,	as described in color.branch.*
	     config option

								5

GIT-SHOW(1)					      GIT-SHOW(1)

	  o   %m: left, right or boundary mark

	  o   %n: newline

	  o   %%: a raw %

	  o   %x00: print a byte from a hex code

	  o   %w([<w>[,<i1>[,<i2>]]]):	switch	line  wrapping,	 like  the  -w
	     option of git-shortlog(1).

	      Note

	      Some placeholders may depend on other options given to the revi-
	      sion traversal engine. For example, the %g* reflog options  will
	      insert  an  empty string unless we are traversing reflog entries
	      (e.g., by git log -g). The %d placeholder will use  the  "short"
	      decoration  format if --decorate was not already provided on the
	      command line.

       If you add a {plus} (plus sign) after % of a placeholder,  a  line-feed
       is  inserted immediately before the expansion if and only if the place-
       holder expands to a non-empty string.

       If you add a - (minus sign) after % of a placeholder,  line-feeds  that
       immediately precede the expansion are deleted if and only if the place-
       holder expands to an empty string.

       If you add a ` ` (space) after % of a placeholder, a space is  inserted
       immediately before the expansion if and only if the placeholder expands
       to a non-empty string.

       o   tformat:

	  The tformat: format works exactly like format:, except that it  pro-
	  vides	 "terminator"  semantics  instead of "separator" semantics. In
	  other words, each commit has the message terminator character	 (usu-
	  ally	a  newline)  appended,	rather than a separator placed between
	  entries. This means that the final entry  of	a  single-line	format
	  will	be  properly terminated with a new line, just as the "oneline"
	  format does. For example:

								6

GIT-SHOW(1)					      GIT-SHOW(1)

	  .ft C
	  $ git log -2 --pretty=format:%h 4da45bef \
	    | perl -pe '$_ .= " -- NO NEWLINE\n" unless /\n/'
	  4da45be
	  7134973 -- NO NEWLINE

	  $ git log -2 --pretty=tformat:%h 4da45bef \
	    | perl -pe '$_ .= " -- NO NEWLINE\n" unless /\n/'
	  4da45be
	  7134973
	  .ft

	  In addition, any unrecognized string that has a % in	it  is	inter-
	  preted  as if it has tformat: in front of it. For example, these two
	  are equivalent:

	  .ft C
	  $ git log -2 --pretty=tformat:%h 4da45bef
	  $ git log -2 --pretty=%h 4da45bef
	  .ft

EXAMPLES
       git show v1.0.0
	      Shows the tag v1.0.0, along with the object the tags points  at.

       git show v1.0.0^{tree}
	      Shows the tree pointed to by the tag v1.0.0.

       git show -s --format=%s v1.0.0^{commit}
	      Shows the subject of the commit pointed to by the tag v1.0.0.

       git show next~10:Documentation/README
	      Shows the contents of the file Documentation/README as they were
	      current in the 10th last commit of the branch next.

       git show master:Makefile master:t/Makefile
	      Concatenates the contents of said Makefiles in the head  of  the
	      branch master.

DISCUSSION
       At the core level, git is character encoding agnostic.

								7

GIT-SHOW(1)					      GIT-SHOW(1)

       o  The  pathnames  recorded  in	the  index and in the tree objects are
	  treated as uninterpreted sequences of non-NUL bytes. What readdir(2)
	  returns  are	what are recorded and compared with the data git keeps
	  track of, which in  turn  are	 expected  to  be  what	 lstat(2)  and
	  creat(2) accepts. There is no such thing as pathname encoding trans-
	  lation.

       o  The contents of the blob  objects  are  uninterpreted	 sequences  of
	  bytes. There is no encoding translation at the core level.

       o  The  commit  log  messages  are  uninterpreted  sequences of non-NUL
	  bytes.

       Although we encourage that the  commit  log  messages  are  encoded  in
       UTF-8,  both the core and git Porcelain are designed not to force UTF-8
       on projects. If all participants of a particular project find  it  more
       convenient  to  use  legacy encodings, git does not forbid it. However,
       there are a few things to keep in mind.

       1.  git commit and git commit-tree issues a warning if the  commit  log
	  message  given to it does not look like a valid UTF-8 string, unless
	  you explicitly say your project uses a legacy encoding. The  way  to
	  say  this  is	 to have i18n.commitencoding in .git/config file, like
	  this:

	  .ft C
	  [i18n]
		  commitencoding = ISO-8859-1
	  .ft

	  Commit objects created with the above setting record	the  value  of
	  i18n.commitencoding  in  its	encoding header. This is to help other
	  people who look at them later. Lack of this header implies that  the
	  commit log message is encoded in UTF-8.

       2.   git	 log,  git  show,  git	blame and friends look at the encoding
	  header of a commit object, and try to re-code the log	 message  into
	  UTF-8 unless otherwise specified. You can specify the desired output
	  encoding with i18n.logoutputencoding in .git/config file, like this:

	  .ft C
	  [i18n]
		  logoutputencoding = ISO-8859-1
	  .ft

								8

GIT-SHOW(1)					      GIT-SHOW(1)

	  If  you  do  not  have  this	configuration  variable,  the value of
	  i18n.commitencoding is used instead.

       Note that we deliberately chose not to re-code the commit  log  message
       when  a	commit	is  made  to  force  UTF-8 at the commit object level,
       because re-coding to UTF-8 is not necessarily a reversible operation.

AUTHOR
       Written by Linus Torvalds <torvalds@osdl.org: mailto:torvalds@osdl.org>
       and  Junio C Hamano <gitster@pobox.com: mailto:gitster@pobox.com>. Sig-
       nificantly enhanced by Johannes Schindelin <Johannes.Schindelin@gmx.de:
       mailto:Johannes.Schindelin@gmx.de>.

DOCUMENTATION
       Documentation   by   David   Greaves,  Petr  Baudis  and	 the  git-list
       <git@vger.kernel.org: mailto:git@vger.kernel.org>.

GIT
       Part of the git(1) suite

								9

[top]

List of man pages available for OpenBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net