Home Explore Blog CI



git

2nd chunk of `Documentation/git-ls-remote.adoc`
c44cba76c0a00d438c6e1276c8ac61bd0120fa5dc6e5c8050000000100000de2
 into account any
	"url.<base>.insteadOf" config setting (See linkgit:git-config[1]) and
	exit without talking to the remote.

--symref::
	In addition to the object pointed by it, show the underlying
	ref pointed by it when showing a symbolic ref.  Currently,
	upload-pack only shows the symref HEAD, so it will be the only
	one shown by ls-remote.

--sort=<key>::
	Sort based on the key given. Prefix `-` to sort in descending order
	of the value. Supports "version:refname" or "v:refname" (tag names
	are treated as versions). The "version:refname" sort order can also
	be affected by the "versionsort.suffix" configuration variable.
	See linkgit:git-for-each-ref[1] for more sort options, but be aware
	keys like `committerdate` that require access to the objects
	themselves will not work for refs whose objects have not yet been
	fetched from the remote, and will give a `missing object` error.

-o <option>::
--server-option=<option>::
	Transmit the given string to the server when communicating using
	protocol version 2.  The given string must not contain a NUL or LF
	character.
	When multiple `--server-option=<option>` are given, they are all
	sent to the other side in the order listed on the command line.
	When no `--server-option=<option>` is given from the command line,
	the values of configuration variable `remote.<name>.serverOption`
	are used instead.

<repository>::
	The "remote" repository to query.  This parameter can be
	either a URL or the name of a remote (see the GIT URLS and
	REMOTES sections of linkgit:git-fetch[1]).

<patterns>...::
	When unspecified, all references, after filtering done
	with --heads and --tags, are shown.  When <patterns>... are
	specified, only references matching one or more of the given
	patterns are displayed. Each pattern is interpreted as a glob
	(see `glob` in linkgit:gitglossary[7]) which is matched against
	the "tail" of a ref, starting either from the start of the ref
	(so a full name like `refs/heads/foo` matches) or from a slash
	separator (so `bar` matches `refs/heads/bar` but not
	`refs/heads/foobar`).

OUTPUT
------

The output is in the format:

------------
<oid> TAB <ref> LF
------------

When showing an annotated tag, unless `--refs` is given, two such
lines are shown: one with the refname for the tag itself as `<ref>`,
and another with `<ref>` followed by `^{}`. The `<oid>` on the latter
line shows the name of the object the tag points at.

EXAMPLES
--------

* List all references (including symbolics and pseudorefs), peeling
  tags:
+
----
$ git ls-remote
27d43aaaf50ef0ae014b88bba294f93658016a2e	HEAD
950264636c68591989456e3ba0a5442f93152c1a	refs/heads/main
d9ab777d41f92a8c1684c91cfb02053d7dd1046b	refs/heads/next
d4ca2e3147b409459955613c152220f4db848ee1	refs/tags/v2.40.0
73876f4861cd3d187a4682290ab75c9dccadbc56	refs/tags/v2.40.0^{}
----

* List all references matching given patterns:
+
----
$ git ls-remote http://www.kernel.org/pub/scm/git/git.git master seen rc
5fe978a5381f1fbad26a80e682ddd2a401966740	refs/heads/master
c781a84b5204fb294c9ccc79f8b3baceeb32c061	refs/heads/seen
----

* List only tags matching a given wildcard pattern:
+
----
$ git ls-remote --tags http://www.kernel.org/pub/scm/git/git.git v\*
485a869c64a68cc5795dd99689797c5900f4716d	refs/tags/v2.39.2
cbf04937d5b9fcf0a76c28f69e6294e9e3ecd7e6	refs/tags/v2.39.2^{}
d4ca2e3147b409459955613c152220f4db848ee1	refs/tags/v2.40.0
73876f4861cd3d187a4682290ab75c9dccadbc56	refs/tags/v2.40.0^{}
----

SEE ALSO
--------
linkgit:git-check-ref-format[1].

GIT
---
Part of the linkgit:git[1] suite

Title: Git Ls-Remote Output and Examples
Summary
The git ls-remote command displays references in a remote repository, with options to filter and sort the output, and provides examples of usage, including listing all references, matching patterns, and showing tags, with explanations of the output format and available options.