You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用GitHub CLI的gh命令列出仓库文件?无需克隆工作副本是否可行?

无需克隆仓库,用GitHub CLI列出仓库文件

当然可以,GitHub CLI(gh)能通过调用GitHub API实现远程查询仓库文件,无需克隆工作副本,具体用法如下:

1. 列出根目录文件(非递归)

替换命令中的{owner}和{repo}为实际的仓库所有者用户名和仓库名称,执行后输出根目录下的所有文件/目录名:

gh api repos/{owner}/{repo}/contents/ --jq '.[].name'

--jq '.[].name'用于过滤API返回的JSON数据,只提取文件名部分。

2. 递归列出所有文件

如果需要遍历仓库所有文件(包含子目录),可使用Git Trees API,替换main为目标分支名(比如master):

gh api repos/{owner}/{repo}/git/trees/main?recursive=1 --jq '.tree[] | select(.type == "blob") | .path'
  • recursive=1:开启递归遍历整个仓库目录树
  • select(.type == "blob"):仅筛选文件(排除目录项)
  • .path:提取完整的文件路径

你提到的git ls-tree --name-only HEAD和git ls-tree --name-only -r HEAD确实仅适用于本地克隆的仓库,而上面的gh命令完全基于远程API操作,无需下载任何仓库文件。

内容的提问来源于stack exchange,提问作者lit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 05:24:21