Во-первых, настоящая справочная страница находится здесь . Это страница последней версии Git.
Во-вторых, на официальной странице руководства написано:
Содержит список содержимого данного объекта дерева, например, что "/bin/ls -a
" делает в текущем рабочем каталоге.
Обратите внимание, что:
поведение немного отличается от поведения "/bin/ls
" в том смысле, что пути обозначают просто список шаблонов для сопоставления, например, поэтому указание имени каталога (без -r
) будет вести себя иначе, и порядок аргументов не имеет значения.
поведение аналогично "/bin/ls
" в том, что пути взяты относительно текущего рабочего каталога.
Например. когда вы находитесь в подпапке каталога, в которой есть каталог dir, вы можете запустить 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
может работать лучше.