简体中文 ▾ 主题 ▾ 最新版本 ▾ git-ls-remote 最后更新于 2.48.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

不在输出中显示剥离(peeled)标签或类似 HEAD 的伪引用。

-q
--quiet

不将远程 URL 打印到标准错误(stderr)。

--upload-pack=<exec>

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

--exit-code

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

--get-url

根据 "url.<base>.insteadOf" 配置设置(参见 git-config[1])展开给定远程仓库的 URL,并直接退出而不与远程端通信。

--symref

在显示符号引用(symbolic ref)时,除了显示其指向的对象外,还显示其指向的基础引用。目前,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=<选项> 时,它们将按照在命令行中列出的顺序全部发送到另一端。如果命令行未给出 --server-option=<选项>,则改用配置变量 remote.<名称>.serverOption 的值。

<仓库>

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

<模式>…​

未指定时,将显示经过 --heads 和 --tags 过滤后的所有引用。指定 <模式>... 时,仅显示匹配一个或多个给定模式的引用。每个模式都被解释为一个通配符(glob)(参见 gitglossary[7] 中的 glob),并与引用的“尾部”匹配,匹配可以从引用的开头开始(因此像 refs/heads/foo 这样的全名可以匹配),或者从斜杠分隔符开始(因此 bar 匹配 refs/heads/bar 但不匹配 refs/heads/foobar)。

输出

输出格式为

<oid> TAB <ref> LF

在显示附注标签(annotated tag)时,除非给出了 --refs,否则会显示两行:一行包含标签本身的引用名 <引用>,另一行包含 <引用> 后跟 ^{}。后一行的 <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 https://linuxkernel.org.cn/pub/scm/git/git.git master seen rc
    5fe978a5381f1fbad26a80e682ddd2a401966740	refs/heads/master
    c781a84b5204fb294c9ccc79f8b3baceeb32c061	refs/heads/seen
  • 仅列出匹配给定通配符模式的标签

    $ git ls-remote --tags https://linuxkernel.org.cn/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] 套件的一部分