Git
简体中文 ▾ Topics ▾ Latest version ▾ git-ls-remote last updated in 2.46.0

名称

git-ls-remote - 列出远程仓库中的引用

概述

git ls-remote [--branches] [--tags] [--refs] [--upload-pack=<exec>]
	      [-q | --quiet] [--exit-code] [--get-url] [--sort=<key>]
	      [--symref] [<repository> [<patterns>…​]]

描述

显示远程版本库中可用的引用以及相关的提交 ID。

选项

-b
--branches
-t
--tags

Limit to only local branches and local tags, respectively. These options are not mutually exclusive; when given both, references stored in refs/heads and refs/tags are displayed. Note that --heads and -h are deprecated synonyms for --branches and -b and may be removed in the future. Also note that git ls-remote -h used without anything else on the command line gives help, consistent with other git subcommands.

--refs

在输出中不显示剥离的标签或像 HEAD 这样的伪引用。

-q
--quiet

不将远程 URL 打印到标准错误流。

--upload-pack=<exec>

指定远程主机上 git-upload-pack 的完整路径。这允许列出通过 SSH 访问的存储库的引用,而且 SSH 守护程序不使用用户配置的 PATH。

--exit-code

当在远程版本库中没有找到匹配的引用时,以状态 "2" 退出。通常该命令以状态 "0" 退出,表示它成功地与远程版本库进行了对话,无论是否找到了匹配的引用。

--get-url

考虑任何 "url.<base>.insteadOf" 的配置设置(见git-config[1]),展开给定的远程仓库的URL,然后退出,不与远程对话。

--symref

除了它所指向的对象之外,在显示一个符号引用时,还要显示它所指向的底层引用。 目前,upload-pack 只显示符号引用HEAD,所以它将是 ls-remote 显示的唯一对象。

--sort=<键>

根据给定的键进行排序。前缀 - 以数值的降序来排序。支持 "version:refname" 或 "v:refname"(标签名被视为版本)。"version:refname" 的排序顺序也可以由 "versionsort.suffix" 配置的变量影响。 见 git-for-each-ref[1] 以获得更多的排序选项,但要注意像 committerdate 这样需要访问对象本身的键,对对象尚未从远程获取的引用不起作用,并会出现 missing object 的错误。

-o <选项>
--server-option=<选项>

当使用协议版本2进行通信时,将给定的字符串传输给服务器。 给定的字符串不能包含 NUL 或 LF 字符。 当给出多个 --server-option=<option> 时,它们将按照命令行中列出的顺序全部发送给对方。

<仓库>

要查询的 "远程" 版本库。 这个参数可以是一个 URL,也可以是一个远程的名称(见 git-fetch[1] 的 GIT URLS 和远端部分)。

<模式>…​

当未指定时,在用 --heads 和 --tags 过滤后,所有引用都会被显示。 当 <patterns>…​ 被指定时,只显示匹配一个或多个给定模式的引用。每个模式都被解释为一个 glob(见 gitglossary[7] 中的 glob),它与引用的 "尾巴" 相匹配,从引用的开头开始(所以像 refs/heads/foo 这样的全名匹配)或者从斜线分隔符开始(所以 bar 匹配 refs/heads/bar,而不是 refs/heads/foobar)。

输出

输出格式为:

<oid> TAB <ref> LF

在显示注释标记时,除非给出 --refs,否则会显示两行:一行是标记本身的参考名 <ref>,另一行是 <ref> 后跟 ^{}。后一行的 <oid> 显示的是标签指向的对象名称。

实例

  • 列出所有引用(包括符号和伪引用),剥离标签:

    $ 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^{}
  • 列出与给定模式匹配的所有引用:

    $ git ls-remote http://www.kernel.org/pub/scm/git/git.git master seen rc
    5fe978a5381f1fbad26a80e682ddd2a401966740	refs/heads/master
    c781a84b5204fb294c9ccc79f8b3baceeb32c061	refs/heads/seen
  • 仅列出与给定通配符模式匹配的标记:

    $ 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^{}

GIT

属于 git[1] 文档

scroll-to-top