返回顶部
本页目录

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> 可以是 onelineshortmediumfullfullerreferenceemailrawformat:<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 是默认值, fullfuller )。

--notes[=<ref>]

在显示提交日志消息时,显示注释提交的注释。这是默认的 git loggit showgit whatchanged 命令时没有 --pretty--format--oneline 在命令行上给出的选项。

默认情况下,显示的注释来自 core.notesRefnotes.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 来检查已签名提交对象的有效性,并显示输出。