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.42.1 → 2.43.0 no changes
- 2.42.0 08/21/23
- 2.40.1 → 2.41.0 no changes
- 2.40.0 03/12/23
- 2.28.1 → 2.39.3 no changes
- 2.28.0 07/27/20
概述
git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>] [-q | --quiet] [--exit-code] [--get-url] [--sort=<key>] [--symref] [<repository> [<patterns>…]]
选项
- -h
- --heads
- -t
- --tags
-
分别限制在 refs/heads 和 refs/tags。 这些选项不是相互排斥的;当两个选项都给出时,存储在 refs/heads 和 refs/tags 中的引用会被显示。 注意,
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.<base>.insteadOf" 的配置设置(见git-config[1]),展开给定的远程仓库的URL,然后退出,不与远程对话。
- --symref
-
除了它所指向的对象之外,在显示一个符号引用时,还要显示它所指向的底层引用。 目前,upload-pack 只显示符号引用HEAD,所以它将是 ls-remote 显示的唯一对象。
- --排序=<键>
-
根据给定的键进行排序。前缀
-
以数值的降序来排序。支持 "version:refname" 或 "v:refname"(标签名被视为版本)。"version:refname" 的排序顺序也可以由 "versionort.suffix" 配置的变量影响。 见 git-for-each-ref[1] 以获得更多的排序选项,但要注意像committerdate
这样需要访问对象本身的键,对对象尚未从远程获取的引用不起作用,并会出现missing object
的错误。 - -o <选项>
- --server-option=<选项>
-
当使用协议版本2进行通信时,将给定的字符串传输给服务器。 给定的字符串不能包含 NUL 或 LF 字符。 当给出多个
--server-option=<option>
时,它们将按照命令行中列出的顺序全部发送给对方。 - <repository>
-
要查询的 "远程" 版本库。 这个参数可以是一个 URL,也可以是一个远程的名称(见 git-fetch[1] 的 GIT URLS 和远端部分)。
- <patterns>…
-
当未指定时,在用 --heads 和 --tags 过滤后,所有引用都会被显示。 当 <patterns>… 被指定时,只显示匹配一个或多个给定模式的引用。每个模式都被解释为一个 glob(见 gitglossary[7] 中的
glob
),它与引用的 "尾巴" 相匹配,从引用的开头开始(所以像refs/heads/foo
这样的全名匹配)或者从斜线分隔符开始(所以bar
匹配refs/heads/bar
,而不是refs/heads/foobar
)。
输出
The output is in the format:
<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^{}
-
List all references matching given patterns:
$ git ls-remote http://www.kernel.org/pub/scm/git/git.git master seen rc 5fe978a5381f1fbad26a80e682ddd2a401966740 refs/heads/master c781a84b5204fb294c9ccc79f8b3baceeb32c061 refs/heads/seen
-
List only tags matching a given wildcard pattern:
$ 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] 文档