Git
英语 ▾ 主题 ▾ 最新版本 ▾ git-ls-remote 最后更新于 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

分别限制为仅本地分支和本地标签。这些选项不是互斥的;当同时给出时,存储在 refs/heads 和 refs/tags 中的引用将被显示。请注意,--heads-h--branches-b 的已弃用同义词,可能会在将来被删除。另请注意,在命令行上没有其他内容的情况下使用 git ls-remote -h 会显示帮助,与其他 git 子命令一致。

--refs

不要在输出中显示剥离的标签或伪引用,如 HEAD

-q
--quiet

不要将远程 URL 打印到 stderr。

--upload-pack=<exec>

指定远程主机上git-upload-pack的完整路径。这允许列出通过 SSH 访问的仓库,以及 SSH 守护进程未使用用户配置的 PATH 的仓库的引用。

--exit-code

当在远程仓库中找不到匹配的引用时,退出状态为“2”。通常命令退出状态为“0”,表示它已成功与远程仓库通信,无论它是否找到任何匹配的引用。

--get-url

扩展给定远程仓库的 URL,考虑到任何“url.<base>.insteadOf”配置设置(参见git-config[1]),并在不与远程通信的情况下退出。

--symref

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

--sort=<key>

根据给定的键进行排序。在值降序排序前添加 - 前缀。支持“version:refname”或“v:refname”(标签名称被视为版本)。“version:refname”排序顺序也可能受“versionsort.suffix”配置变量的影响。有关更多排序选项,请参见git-for-each-ref[1],但请注意,对于尚未从远程获取其对象的引用,committerdate 等需要访问对象的键将无法使用,并将给出 缺少对象 错误。

-o <option>
--server-option=<option>

使用协议版本 2 通信时,将给定的字符串传输到服务器。给定的字符串不得包含 NUL 或 LF 字符。当给出多个 --server-option=<option> 时,它们将按照命令行上的顺序发送到另一端。

<repository>

要查询的“远程”仓库。此参数可以是 URL 或远程的名称(参见git-fetch[1]中的 GIT URLS 和 REMOTES 部分)。

<patterns>…​

当未指定时,将在使用 --heads 和 --tags 完成过滤后显示所有引用。当指定 <patterns>…​ 时,仅显示与一个或多个给定模式匹配的引用。每个模式被解释为一个 glob(参见gitglossary[7]中的 glob),它与引用的“尾部”匹配,从引用的开头开始(因此像 refs/heads/foo 这样的完整名称会匹配)或从斜杠分隔符开始(因此 bar 会匹配 refs/heads/bar,但不会匹配 refs/heads/foobar)。

输出

输出格式为

<oid> TAB <ref> LF

当显示带注释的标签时,除非给出了 --refs,否则会显示两行这样的行:一行使用标签本身的 refname 作为 <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