Home Explore Blog CI



git

2nd chunk of `Documentation/git-rev-parse.adoc`
fda015c5bcaaa4c0636a05494134a598dcd73eb1436ccc030000000100000fab
 rev-parse --sq --prefix "$prefix" -- "$@")"
----

--verify::
	Verify that exactly one parameter is provided, and that it
	can be turned into a raw 20-byte SHA-1 that can be used to
	access the object database. If so, emit it to the standard
	output; otherwise, error out.
+
If you want to make sure that the output actually names an object in
your object database and/or can be used as a specific type of object
you require, you can add the `^{type}` peeling operator to the parameter.
For example, `git rev-parse "$VAR^{commit}"` will make sure `$VAR`
names an existing object that is a commit-ish (i.e. a commit, or an
annotated tag that points at a commit).  To make sure that `$VAR`
names an existing object of any type, `git rev-parse "$VAR^{object}"`
can be used.
+
Note that if you are verifying a name from an untrusted source, it is
wise to use `--end-of-options` so that the name argument is not mistaken
for another option.

-q::
--quiet::
	Only meaningful in `--verify` mode. Do not output an error
	message if the first argument is not a valid object name;
	instead exit with non-zero status silently.
	SHA-1s for valid object names are printed to stdout on success.

--sq::
	Usually the output is made one line per flag and
	parameter.  This option makes output a single line,
	properly quoted for consumption by shell.  Useful when
	you expect your parameter to contain whitespaces and
	newlines (e.g. when using pickaxe `-S` with
	'git diff-{asterisk}'). In contrast to the `--sq-quote` option,
	the command input is still interpreted as usual.

--short[=<length>]::
	Same as `--verify` but shortens the object name to a unique
	prefix with at least `length` characters. The minimum length
	is 4, the default is the effective value of the `core.abbrev`
	configuration variable (see linkgit:git-config[1]).

--not::
	When showing object names, prefix them with '{caret}' and
	strip '{caret}' prefix from the object names that already have
	one.

--abbrev-ref[=(strict|loose)]::
	A non-ambiguous short name of the objects name.
	The option core.warnAmbiguousRefs is used to select the strict
	abbreviation mode.

--symbolic::
	Usually the object names are output in SHA-1 form (with
	possible '{caret}' prefix); this option makes them output in a
	form as close to the original input as possible.

--symbolic-full-name::
	This is similar to --symbolic, but it omits input that
	are not refs (i.e. branch or tag names; or more
	explicitly disambiguating "heads/master" form, when you
	want to name the "master" branch when there is an
	unfortunately named tag "master"), and shows them as full
	refnames (e.g. "refs/heads/master").

--output-object-format=(sha1|sha256|storage)::

	Allow oids to be input from any object format that the current
	repository supports.

	Specifying "sha1" translates if necessary and returns a sha1 oid.

	Specifying "sha256" translates if necessary and returns a sha256 oid.

	Specifying "storage" translates if necessary and returns an oid in
	encoded in the storage hash algorithm.

Options for Objects
~~~~~~~~~~~~~~~~~~~

--all::
	Show all refs found in `refs/`.

--branches[=<pattern>]::
--tags[=<pattern>]::
--remotes[=<pattern>]::
	Show all branches, tags, or remote-tracking branches,
	respectively (i.e., refs found in `refs/heads`,
	`refs/tags`, or `refs/remotes`, respectively).
+
If a `pattern` is given, only refs matching the given shell glob are
shown.  If the pattern does not contain a globbing character (`?`,
`*`, or `[`), it is turned into a prefix match by appending `/*`.

--glob=<pattern>::
	Show all refs matching the shell glob pattern `pattern`. If
	the pattern does not start with `refs/`, this is automatically
	prepended.  If the pattern does not contain a globbing
	character (`?`, `*`, or `[`), it is turned into a prefix
	match by appending `/*`.

--exclude=<glob-pattern>::
	Do not include refs matching '<glob-pattern>' that the next `--all`,
	`--branches`, `--tags`, `--remotes`, or `--glob` would otherwise
	consider. Repetitions

Title: Git Rev-Parse Options
Summary
The git rev-parse command has various options for verifying object names, filtering output, and showing refs, including options for quiet mode, shortening object names, abbreviating refs, and specifying output formats, as well as options for excluding certain refs and showing all refs found in specific directories.