Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.46.1 → 2.47.0 no changes
- 2.46.0 07/29/24
- 2.42.1 → 2.45.2 no changes
- 2.42.0 08/21/23
- 2.40.1 → 2.41.2 no changes
- 2.40.0 03/12/23
- 2.28.1 → 2.39.5 no changes
- 2.28.0 07/27/20
- 2.25.3 → 2.27.1 no changes
- 2.25.2 03/17/20
- 2.24.1 → 2.25.1 no changes
- 2.24.0 11/04/19
- 2.22.1 → 2.23.4 no changes
- 2.22.0 06/07/19
- 2.18.1 → 2.21.4 no changes
- 2.18.0 06/21/18
- 2.9.5 → 2.17.6 no changes
- 2.8.6 07/30/17
- 2.7.6 no changes
- 2.6.7 05/05/17
- 2.1.4 → 2.5.6 no changes
- 2.0.5 12/17/14
概述
git ls-remote [--branches] [--tags] [--refs] [--upload-pack=<exec>] [-q | --quiet] [--exit-code] [--get-url] [--sort=<key>] [--symref] [<repository> [<patterns>…]]
选项
- -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 thatgit 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] 文档