'\" t
.\"     Title: git-ls-remote
.\"    Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\"      Date: 03/07/2022
.\"    Manual: Git Manual
.\"    Source: Git 2.35.1.415.gc2162907e9
.\"  Language: English
.\"
.TH "GIT\-LS\-REMOTE" "1" "03/07/2022" "Git 2\&.35\&.1\&.415\&.gc21629" "Git Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
git-ls-remote \- List references in a remote repository
.SH "SYNOPSIS"
.sp
.nf
\fIgit ls\-remote\fR [\-\-heads] [\-\-tags] [\-\-refs] [\-\-upload\-pack=<exec>]
              [\-q | \-\-quiet] [\-\-exit\-code] [\-\-get\-url] [\-\-sort=<key>]
              [\-\-symref] [<repository> [<refs>\&...]]
.fi
.sp
.SH "DESCRIPTION"
.sp
Displays references available in a remote repository along with the associated commit IDs\&.
.SH "OPTIONS"
.PP
\-h, \-\-heads, \-t, \-\-tags
.RS 4
Limit to only refs/heads and refs/tags, respectively\&. These options are
\fInot\fR
mutually exclusive; when given both, references stored in refs/heads and refs/tags are displayed\&. Note that
\fBgit ls\-remote \-h\fR
used without anything else on the command line gives help, consistent with other git subcommands\&.
.RE
.PP
\-\-refs
.RS 4
Do not show peeled tags or pseudorefs like
\fBHEAD\fR
in the output\&.
.RE
.PP
\-q, \-\-quiet
.RS 4
Do not print remote URL to stderr\&.
.RE
.PP
\-\-upload\-pack=<exec>
.RS 4
Specify the full path of
\fIgit\-upload\-pack\fR
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\&.
.RE
.PP
\-\-exit\-code
.RS 4
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\&.
.RE
.PP
\-\-get\-url
.RS 4
Expand the URL of the given remote repository taking into account any "url\&.<base>\&.insteadOf" config setting (See
\fBgit-config\fR(1)) and exit without talking to the remote\&.
.RE
.PP
\-\-symref
.RS 4
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\&.
.RE
.PP
\-\-sort=<key>
.RS 4
Sort based on the key given\&. Prefix
\fB\-\fR
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
\fBgit-for-each-ref\fR(1)
for more sort options, but be aware keys like
\fBcommitterdate\fR
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
\fBmissing object\fR
error\&.
.RE
.PP
\-o <option>, \-\-server\-option=<option>
.RS 4
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
\fB\-\-server\-option=<option>\fR
are given, they are all sent to the other side in the order listed on the command line\&.
.RE
.PP
<repository>
.RS 4
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
\fBgit-fetch\fR(1))\&.
.RE
.PP
<refs>\&...
.RS 4
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\&.
.RE
.SH "EXAMPLES"
.sp
.if n \{\
.RS 4
.\}
.nf
$ 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 seen rc
5fe978a5381f1fbad26a80e682ddd2a401966740        refs/heads/master
c781a84b5204fb294c9ccc79f8b3baceeb32c061        refs/heads/seen
$ git remote add korg http://www\&.kernel\&.org/pub/scm/git/git\&.git
$ git ls\-remote \-\-tags korg v\e*
d6602ec5194c87b0fc87103ca4d67251c76f233a        refs/tags/v0\&.99
f25a265a342aed6041ab0cc484224d9ca54b6f41        refs/tags/v0\&.99\&.1
c5db5456ae3b0873fc659c19fafdde22313cc441        refs/tags/v0\&.99\&.2
7ceca275d047c90c0c7d5afb13ab97efdf51bd6e        refs/tags/v0\&.99\&.3
.fi
.if n \{\
.RE
.\}
.sp
.SH "SEE ALSO"
.sp
\fBgit-check-ref-format\fR(1)\&.
.SH "GIT"
.sp
Part of the \fBgit\fR(1) suite
