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

如何获取Git特定提交对应的仓库文件列表?已知当前分支可用git ls-files

获取Git特定提交版本的文件列表

嘿,刚好知道怎么解决这个问题!你已经熟悉当前分支用git ls-files,那针对特定提交的话,用git ls-tree命令就可以轻松搞定,具体用法如下:

  • 最常用的简洁版(仅显示文件名):
    运行这个命令,把<commit-hash>替换成你要查询的提交哈希、分支名或者标签名就行:

    git ls-tree --name-only -r <commit-hash>
    

    参数解释:

    • --name-only:只输出文件名,去掉其他额外信息
    • -r:递归遍历所有子目录,确保列出所有层级的文件

    举个例子,如果要查看哈希为a1b2c3d的提交下的所有文件,就用:

    git ls-tree --name-only -r a1b2c3d
    
  • 查看详细文件信息版:
    如果需要看到文件的权限、类型等额外信息,去掉--name-only参数即可:

    git ls-tree -r <commit-hash>
    

    输出会包含文件的模式(比如100644代表普通文件)、对象哈希、文件类型(blob)和文件名。

另外补充个小技巧:如果你临时记不住命令,也可以用git show配合过滤来实现,但git ls-tree显然更直接高效。比如:

git show <commit-hash>: | awk '{print $4}'

不过这个会混入一些额外信息,还是优先推荐git ls-tree的方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:33:24