git ls-tree db / *. rb не работает - PullRequest
2 голосов
/ 29 марта 2010

Я смотрю справочную страницу для git ls-tree . У него есть опция для пути.

У меня есть каталог с именем db, и в этом каталоге у меня есть несколько файлов .rb.

Тогда почему моя команда терпит неудачу

git ls-tree db/*.rb

1 Ответ

2 голосов
/ 29 марта 2010

Во-первых, настоящая справочная страница находится здесь . Это страница последней версии 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

может работать лучше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...