Skip to content
Snippets Groups Projects
git-ls-remote.txt 4.73 KiB
Newer Older
  • Learn to ignore specific revisions
  • Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    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>]
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    	      [--symref] [<repository> [<patterns>...]]
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    
    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.
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    
    --refs::
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    	Do not show peeled tags or pseudorefs like `HEAD` in the output.
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    
    -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.
    
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    <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]).
    
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    <patterns>...::
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    	When unspecified, all references, after filtering done
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    	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`).
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    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.
    
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    EXAMPLES
    --------
    
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    * 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^{}
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    * 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
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    ----
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    * 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^{}
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    
    
    SEE ALSO
    --------
    linkgit:git-check-ref-format[1].
    
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    GIT
    ---
    Part of the linkgit:git[1] suite