git-ls-remote - List references in a remote repository
git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]
[-q | --quiet] [--exit-code] [--get-url] [--sort=<key>]
[--symref] [<repository> [<refs>...]]
Displays references available in a remote repository along with
the associated commit IDs.
-h, --heads, -t, --tags
Limit to only refs/heads and refs/tags, respectively.
These options are not mutually exclusive; when given both, references
stored in refs/heads and refs/tags are displayed.
--refs
Do not show peeled tags or pseudorefs like HEAD in the
output.
-q, --quiet
Do not print remote URL to stderr.
--upload-pack=<exec>
Specify the full path of git-upload-pack on the
remote host. This allows listing references from repositories accessed via SSH
and where the SSH daemon does not use the PATH configured by the user.
--exit-code
Exit with status "2" when no matching refs are
found in the remote repository. Usually the command exits with status
"0" to indicate it successfully talked with the remote repository,
whether it found any matching refs.
--get-url
Expand the URL of the given remote repository taking into
account any "url.<base>.insteadOf" config setting (See
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
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.
<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
git-fetch(1)).
<refs>...
When unspecified, all references, after filtering done
with --heads and --tags, are shown. When <refs>... are specified, only
references matching the given patterns are displayed.
$ git ls-remote --tags ./.
d6602ec5194c87b0fc87103ca4d67251c76f233a refs/tags/v0.99
f25a265a342aed6041ab0cc484224d9ca54b6f41 refs/tags/v0.99.1
7ceca275d047c90c0c7d5afb13ab97efdf51bd6e refs/tags/v0.99.3
c5db5456ae3b0873fc659c19fafdde22313cc441 refs/tags/v0.99.2
0918385dbd9656cab0d1d81ba7453d49bbc16250 refs/tags/junio-gpg-pub
$ git ls-remote http://www.kernel.org/pub/scm/git/git.git master pu rc
5fe978a5381f1fbad26a80e682ddd2a401966740 refs/heads/master
c781a84b5204fb294c9ccc79f8b3baceeb32c061 refs/heads/pu
$ git remote add korg http://www.kernel.org/pub/scm/git/git.git
$ git ls-remote --tags korg v\*
d6602ec5194c87b0fc87103ca4d67251c76f233a refs/tags/v0.99
f25a265a342aed6041ab0cc484224d9ca54b6f41 refs/tags/v0.99.1
c5db5456ae3b0873fc659c19fafdde22313cc441 refs/tags/v0.99.2
7ceca275d047c90c0c7d5afb13ab97efdf51bd6e refs/tags/v0.99.3