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, --heads
分别限制为仅本地分支和本地标签。这些选项不是互斥的;同时给出时,将显示 refs/heads 和 refs/tags 中存储的引用。请注意,--heads 和 -h 是 --branches 和 -b 的已弃用同义词,将来可能会被移除。另请注意,在命令行上不带其他参数使用 git ls-remote -h 会显示帮助,与其他 git 子命令一致。
--refs
:在输出中不显示剥离的标签或像 HEAD 这样的伪引用。
-q, --quiet
不将远程 URL 打印到标准错误。
--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 只显示符号引用 HEAD,因此它将是 ls-remote 显示的唯一一个。
--sort=<key>
:根据给定的键排序。前缀 - 表示按值降序排序。支持 "version:refname" 或 "v:refname"(标签名称被视为版本)。"version:refname" 排序顺序也可能受 "versionsort.suffix" 配置变量影响。有关更多排序选项,请参阅 git-for-each-ref(1),但请注意,像 committerdate 这样需要访问对象本身的键对于尚未从远程获取的对象的引用将不起作用,并会给出 missing object 错误。
-o <option>, --server-option=<option>
使用协议版本 2 通信时将给定字符串传输到服务器。给定字符串不得包含 NUL 或 LF 字符。当给出多个 --server-option=<option> 时,它们都按命令行上列出的顺序发送到另一端。当命令行上未给出 --server-option=<option> 时,使用配置变量 remote.<name>.serverOption 的值。
<repository>
:要查询的 "remote" 仓库。此参数可以是 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,否则显示两行:一行以标签本身的引用名作为 <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) 套件的一部分
