目录搜索
GuidesgitattributesgiteverydaygitglossarygitignoregitmodulesgitrevisionsgittutorialgitworkflowsAdministrationgit archivegit bundlegit cleangit filter-branchgit fsckgit gcgit instawebgit reflogBasic Snapshottinggit addgit commitgit diffgit mvgit resetgit rmgit statusBranching and Merginggit branchgit checkoutgit loggit mergegit mergetoolgit stashgit tagDebugginggit bisectgit blamegit grepEmailgit amgit format-patchgit request-pullgit send-emailExternal Systemsgit fast-importgit svnGetting and Creating Projectsgit clonegit initGitgit annotategit archimportgit bisect-lk2009git check-attrgit check-mailmapgit check-ref-formatgit checkout-indexgit cherrygit citoolgit columngit credentialgit credential-cachegit credential-storegit cvsexportcommitgit cvsimportgit cvsservergit diff-filesgit diff-treegit difftoolgit fast-exportgit fetch-packgit fmt-merge-msggit get-tar-commit-idgit guigit http-backendgit http-fetchgit http-pushgit imap-sendgit index-packgit interpret-trailersgit ls-remotegit ls-treegit mailinfogit mailsplitgit merge-filegit merge-indexgit merge-one-filegit merge-treegit mktaggit mktreegit name-revgit notesgit p4git pack-objectsgit pack-redundantgit pack-refsgit parse-remotegit patch-idgit prunegit prune-packedgit quiltimportgit receive-packgit remote-extgit remote-fdgit remote-testgitgit repackgit replacegit rereregit send-packgit sh-i18ngit sh-setupgit shellgit show-branchgit show-indexgit stripspacegit unpack-filegit unpack-objectsgit upload-archivegit upload-packgit vargit verify-commitgit verify-taggit whatchangedgit worktreeInspection and Comparisongit describegit shortloggit showMiscellaneousapi credentialsapi indexgitcligitcore tutorialgitcredentialsgitcvs migrationgitdiffcoregithooksgitkgitnamespacesgitremote helpersgitrepository layoutgitsubmodulesgittutorial 2gitwebgitweb.confpack formatUser ManualPatchinggit applygit cherry-pickgit rebasegit revertPlumbing Commandsgit cat-filegit check-ignoregit commit-treegit count-objectsgit diff-indexgit for-each-refgit hash-objectgit ls-filesgit merge-basegit read-treegit rev-listgit rev-parsegit show-refgit symbolic-refgit update-indexgit update-refgit verify-packgit write-treeServer Admingit daemongit update-server-infoSetup and Configgitgit configgit helpSharing and Updating Projectsgit fetchgit pullgit pushgit remotegit submodule
文字

名称

git-ls-tree  - 列出树对象的内容

概要

git ls-tree [-d] [-r] [-t] [-l] [-z]            [--name-only] [--name-status] [--full-name] [--full-tree] [--abbrev[=<n>]]            <tree-ish> [<path>…]

描述

列出给定树对象的内容,例如“/ bin / ls -a”在当前工作目录中所做的内容。注意:

  • 该行为与“/ bin / ls”的行为稍有不同,因为它<path>仅表示要匹配的模式列表,例如,指定目录名称(不含-r)将具有不同的行为,并且参数的顺序无关紧要。

  • 该行为与“/ bin / ls”的行为相似,<path>因为相对于当前工作目录而言。例如,当你在一个sub具有目录的目录中时dir,你可以运行git ls-tree -r HEAD dir以列出树的内容(即sub/dirHEAD)。你不想给一棵树,是不是在根级别(例如,git ls-tree -r HEAD:sub dir在这种情况下),因为这将导致要求sub/sub/dirHEAD承诺。但是,通过传递--full-tree 选项可以忽略当前工作目录。

选项

<tree-ish>

Id of a tree-ish.

-d

仅显示已命名的树条目本身,而不是其子节点。

-r

递归到子树中。

-t

甚至在进行递归时也显示树条目。如果-r未通过,则无效。-d意味着-t

-l   --long

显示 blob(文件)条目的对象大小。

-z

\ 0 行输出终止,不要引用文件名。有关更多信息,请参阅下面的 OUTPUT FORMAT。

--name-only   --name-status

仅列出文件名(而不是“长”输出),每行一个。

--abbrev=<n>

不显示完整的40字节十六进制对象行,只显示部分前缀。非默认位数可以用--abbrev = <n> 来指定。

--full-name

显示相对于当前工作目录的路径名称,而不是显示完整的路径名称。

--full-tree

不要将列表限制到当前工作目录。意味着 --full-name。

<path>…

当给出路径时,显示它们(请注意,这不是真正的原始路径名,而是一组匹配的模式列表)。否则,隐式使用树的根级作为唯一的路径参数。

输出格式

<mode> SP <type> SP <object> TAB <file>

这种输出格式是什么兼容--index-info --stdingit update-index期望。

当使用该-l选项时,格式更改为

<mode> SP <type> SP <object> SP <object size> TAB <file>

由<object>标识的对象大小以字节为单位,右对齐,最小宽度为7个字符。对象大小仅适用于 blob(文件)条目; 对于其他条目,-字符用于代替大小。

如果没有这个-z选项,带有“不寻常”字符的路径名将按照配置变量的说明引用core.quotePath(请参阅 git-config [1])。使用-z文件名是逐字输出的,并且该行由 NUL 字节终止。

上一篇:下一篇: