git-commit-vandalism/Documentation/git-ls-remote.txt
Junio C Hamano 1ff466c018 Documentation: clarify that -h alone stands for help
We seem to be getting new users who get confused every 20 months or
so with this "-h consistently wants to give help, but the commands
to which `-h` may feel like a good short-form option want it to mean
something else." compromise.

Let's make sure that the readers know that `git cmd -h` (with no
other arguments) is a way to get usage text, even for commands like
ls-remote and grep.

Also extend the description that is already in gitcli.txt, as it is
clear that users still get confused with the current text.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-02-27 14:14:01 -08:00

120 lines
3.9 KiB
Plaintext

git-ls-remote(1)
================
NAME
----
git-ls-remote - List references in a remote repository
SYNOPSIS
--------
[verse]
'git ls-remote' [--heads] [--tags] [--refs] [--upload-pack=<exec>]
[-q | --quiet] [--exit-code] [--get-url] [--sort=<key>]
[--symref] [<repository> [<refs>...]]
DESCRIPTION
-----------
Displays references available in a remote repository along with the associated
commit IDs.
OPTIONS
-------
-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. Note that `git ls-remote -h` used without
anything else on the command line gives help, consistent
with other git subcommands.
--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 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.
<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]).
<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.
EXAMPLES
--------
$ 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
SEE ALSO
--------
linkgit:git-check-ref-format[1].
GIT
---
Part of the linkgit:git[1] suite