show
显示各种类型的对象
语法
- git show [<options>] [<object>…]
实例
显示某次提交的元数据和内容变化
- git show [commit]
显示某次提交发生变化的文件
- git show --name-only [commit]
显示某次提交时,某个文件的内容
- git show [commit]:[filename]
查看tag信息
- git show [tag]
描述
显示一个或多个对象(blobs、树、标签和提交)。
对于提交,它将显示日志消息和文本差异。它还以 git diff-tree --cc
产生的特殊格式显示合并提交。
对于标签,它显示标签信息和被引用的对象。
对于树,它显示名称(相当于 git ls-tree
和–name-only)。
对于纯色斑块,它显示的是纯色内容。
该命令采用适用于 git diff-tree
命令的选项,以控制如何显示提交引入的更改
选项
- <object>…
-
要显示的对象名称(默认为
HEAD
)。有关拼写对象名称的方法的完整列表 - --pretty[=<format>]
--format=<format> -
以给定格式漂亮地打印提交日志的内容,其中
<format>
可以是oneline
,short
,medium
,full
,fuller
,reference
,email
,raw
,format:<string>
和tformat:<string>
之一。如果<format>
都不是上述内容,并且其中包含%placeholder
,则它的作用就像--pretty=tformat:<format>
一样。 -
如果省略
=<format>
部分,则默认为medium
。 - --abbrev-commit
-
不要显示完整的40字节十六进制提交对象名称,而是显示一个可以唯一命名对象的前缀。
--abbrev = <n>
(如果显示,它也会修改diff输出)选项可用于指定前缀的最小长度。 -
这将使
-pretty=oneline
对于使用80列终端的人来说更加易读。 - --no-abbrev-commit
-
显示完整的40字节十六进制提交对象名称。这会否定
--abbrev-commit
,无论是显式的还是由其他选项所隐含。它还将覆盖log.abbrevCommit
变量。 - --oneline
-
这是
-pretty=oneline--abbrev-commit
一起使用的速记。 - –encoding=<encoding>
-
提交对象在其编码头中记录用于日志消息的字符编码;此选项可用于告诉命令以用户首选的编码重新编码提交日志消息。对于非管道命令,默认为 UTF-8。请注意,如果一个对象声称用 X 编码并且我们在 X 中输出,我们将逐字输出该对象;这意味着原始提交中的无效序列可能会被复制到输出中。同样,如果 iconv(3) 未能转换提交,我们将逐字输出原始对象。
- --expand-tabs=<n>
--expand-tabs
--no-expand-tabs -
在日志消息中执行选项卡扩展(在每个选项卡中留出足够的空间以填充到下一个显示列,该显示列是
<n>
的倍数),然后在输出中显示它。--expand-tabs
是--expand-tabs=8
的简写,而--no-expand-tabs
是--expand-tabs=0
的简写,它禁用标签扩展。 -
默认情况下,选项卡以漂亮的格式扩展,该格式将日志消息缩进4个空格(例如,
medium
是默认值,full
和fuller
)。 - --notes[=<ref>]
-
在显示提交日志消息时,显示注释提交的注释。这是默认的
git log
,git show
和git whatchanged
命令时没有--pretty
,--format
或--oneline
在命令行上给出的选项。 -
默认情况下,显示的注释来自
core.notesRef
和notes.displayRef
变量(或相应的环境替代)中列出的注释refs -
通过可选的
<ref>
参数,使用ref查找要显示的注释。当ref以refs/notes/
开头时,可以指定完整的refname ;当它与开始notes/
,refs/
否则refs/notes/
前缀,以形成REF的全名。 -
可以结合多个—笔记选项来控制显示哪些笔记。例如:"–notes=foo "将只显示 "refs/notes/foo “的笔记;”–notes=foo --notes "将只显示 "refs/notes/foo “的笔记。”–notes=foo "将只显示 "refs/notes/foo “中的笔记;”–notes=foo --notes "将同时显示 "refs/notes/foo "中的笔记和默认的笔记参考资料。
- --no-notes
-
不要显示笔记。通过重置显示注释的注释引用列表,可以取消上述
--notes
选项。选项是按照命令行中给定的顺序进行解析的,因此“ --notes --notes = foo --no-notes --notes = bar”将仅显示“ refs/notes/bar”中的注释。 - --show-notes[=<ref>]
--[no-]standard-notes -
这些选项已经过时。
- --show-signature
-
通过将签名传递给
gpg --verify
来检查已签名提交对象的有效性,并显示输出。