?
This document uses PHP Chinese website manual Release
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
)將具有不同的行為,并且參數(shù)的順序無關緊要。
該行為與“/ bin / ls”的行為相似,<path>
因為相對于當前工作目錄而言。例如,當你在一個sub
具有目錄的目錄中時dir
,你可以運行git ls-tree -r HEAD dir
以列出樹的內容(即sub/dir
在HEAD
)。你不想給一棵樹,是不是在根級別(例如,git ls-tree -r HEAD:sub dir
在這種情況下),因為這將導致要求sub/sub/dir
的HEAD
承諾。但是,通過傳遞--full-tree 選項可以忽略當前工作目錄。
<tree-ish>
Id of a tree-ish.
-d
僅顯示已命名的樹條目本身,而不是其子節(jié)點。
-r
遞歸到子樹中。
-t
甚至在進行遞歸時也顯示樹條目。如果-r
未通過,則無效。-d
意味著-t
。
-l --long
顯示 blob(文件)條目的對象大小。
-z
\ 0 行輸出終止,不要引用文件名。有關更多信息,請參閱下面的 OUTPUT FORMAT。
--name-only --name-status
僅列出文件名(而不是“長”輸出),每行一個。
--abbrev=<n>
不顯示完整的40字節(jié)十六進制對象行,只顯示部分前綴。非默認位數(shù)可以用--abbrev = <n> 來指定。
--full-name
顯示相對于當前工作目錄的路徑名稱,而不是顯示完整的路徑名稱。
--full-tree
不要將列表限制到當前工作目錄。意味著 --full-name。
<path>…
當給出路徑時,顯示它們(請注意,這不是真正的原始路徑名,而是一組匹配的模式列表)。否則,隱式使用樹的根級作為唯一的路徑參數(shù)。
<mode> SP <type> SP <object> TAB <file>
這種輸出格式是什么兼容--index-info --stdin
的git update-index
期望。
當使用該-l
選項時,格式更改為
<mode> SP <type> SP <object> SP <object size> TAB <file>
由<object>標識的對象大小以字節(jié)為單位,右對齊,最小寬度為7個字符。對象大小僅適用于 blob(文件)條目; 對于其他條目,-
字符用于代替大小。
如果沒有這個-z
選項,帶有“不尋?!弊址穆窂矫麑凑张渲米兞康恼f明引用core.quotePath
(請參閱 git-config [1])。使用-z
文件名是逐字輸出的,并且該行由 NUL 字節(jié)終止。