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

如何在Git中获取当前目录的tree对象?

获取Git当前目录的Tree对象(不依赖$PWD)

要获取当前目录对应的tree对象,有两种不依赖$PWD环境变量的简洁方法:

方法1:用git ls-tree查看完整tree信息

git ls-tree -d HEAD :.

这里的:.'是Git的路径规格语法,专门指向当前工作目录对应的版本库目录,完全不依赖系统环境变量,执行后会输出当前目录tree对象的权限、类型、哈希和路径信息。

方法2:用git rev-parse仅获取哈希值

如果只需要tree对象的哈希字符串(适合脚本场景),用这个更高效:

git rev-parse HEAD:.

为什么git ls-tree -d HEAD .不生效?

因为.是Shell解析的路径,Git会将其识别为“当前目录下的所有条目”,加上-d参数后只会列出当前目录下所有子目录的tree对象,而非当前目录本身的tree。而:.'是Git内部解析的路径,直接指向当前目录对应的版本库对象,因此能精准获取目标tree。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 04:34:53