答案 0 :(得分:2)
首先是actual man page is here。这是最新Git版本的页面。
其次,该官方手册页说:
列出给定树对象的内容,例如“
/bin/ls -a
”在当前工作目录中的内容。
请注意:
行为与“
/bin/ls
”的行为略有不同,因为路径仅表示要匹配的模式列表,例如所以指定目录名称(没有-r
)的行为会有所不同,参数的顺序无关紧要。行为类似于“
/bin/ls
”的行为,因为路径被视为相对于当前工作目录。
例如。当您在具有目录目录的目录子中时,可以运行git ls-tree -r HEAD dir
列出树的内容(sub/dir
中的HEAD
) 。
在这种情况下,您不希望提供不在根级别的树(例如git ls-tree -r HEAD:sub dir
),因为这会导致在sub/sub/dir
提交中要求HEAD
。但是,可以通过传递--full-tree
选项来忽略当前工作目录。
在你的情况下:
git ls-tree HEAD db/*.rb
可能会更好。