Close

Git Show


什么是 git-show?


git-show 是一个命令行实用程序,用于查看有关 blob、树、标记和提交的扩展详细信息。git-show 对每种对象类型都有特定的行为。

标记显示标记消息和标记中包含的其他对象。树显示树中对象的名称和内容。Blob 显示了 blob 的直接内容。提交显示提交日志消息和提交中变更的比对输出。

Git 对象都是通过引用访问的。默认情况下,git-show 会违反 HEAD 引用。HEAD 引用始终指向当前分支的最后一次提交。因此,您可以使用 git-show 来显示最新提交的日志消息和比对输出。

Git-show 选项


<object>…
可以传递对某个对象或对象列表的引用,以检查这些特定对象。如果未传递显式对象,则 git-show 默认为 HEAD 引用。

--pretty[=<format>]
pretty 选项采用辅助格式值,可以是以下值之一:oneline、short、medium、full、fuller、email、rawformat:<string>。如果省略,则格式默认为 medium。每个格式选项都是一个不同的模板,用于 Git 如何格式化显示输出。<code>oneline</code> 选项对于显示提交列表非常有用

--abbrev-commit
此选项缩短了输出提交 ID 的长度。提交 ID 长 40 个字符,在狭窄的终端屏幕上很难查看。此选项与 --pretty=oneline 组合可以生成高度简洁的 git log 输出。

--no-abbrev-commit
始终显示完整的 40 个字符的提交 ID。这将忽略 --abbrev-commit 和任何其他缩写提交 ID 的选项,例如 --oneline format

数据库
相关资料

如何移动完整的 Git 存储库

Bitbucket 徽标
查看解决方案

了解 Bitbucket Cloud 的 Git

--oneline
这是使用扩展命令 --pretty=oneline --abbrev-commit 的快捷方式

--encoding[=<encoding>]
Git 日志消息上的字符编码默认为 UTF-8。编码选项可以变更为不同的字符编码输出。如果您在具有不同字符编码的环境中使用 Git,例如亚洲语言终端,这很有用。

>--expand-tabs=<n>
--expand-tabs
--no-expand-tabs

这些选项将日志消息输出中的制表符替换为空格。可以设置 n 值来配置制表符扩展到多少空格字符。如果没有明确的 n 值,制表符将扩展为 8 个空格。--no-expand-tabs 等同于 n=0

--notes=<ref>
--no-notes

Git 有一个笔记系统,允许将任意‘笔记’元数据附加到对象。使用 git-show 时,可以隐藏或筛选此数据。

--show-signature
此选项将通过将提交传递给 gpg 子命令来验证提交是否使用加密签名进行签名。

git-show 的 pretty 格式


上面讨论的 --pretty 选项接受几个辅助选项来传递 git-show 输出的格式。下面列出了这些辅助选项以及示例模板

  • oneline
    <sha1> <title line>

Oneline 尝试将尽可能多的信息压缩到一行中

  • 简短
    提交 <sha1>
    作者:<author>
    <title line>
  • 中等
    提交 <sha1>
    作者:<author>
    日期:<author date>
    <title line>
    <full commit message>
  • 完整
    提交 <sha1>
    作者:<author>
    提交:<committer>
    <title line>
    <full commit message>
  • 更完整
    提交 <sha1>
    作者:<author>
    作者日期:<author date>
    提交:<committer>
    提交日期:<committer date>
    <title line>
    <full commit message>
  • 电子邮件
    来自 <sha1> <date>
    来自:<author>
    日期:<author date>
    主题:[PATCH] <title line>
    <full commit message>
  • 原始
    原始格式会忽略传递给 git-show 的其他直接格式化选项,输出与存储在对象中的提交完全相同。原始格式将忽略 --abrev--no-abbrev 并始终显示父项提交。
  • 格式:
    格式允许指定自定义输出格式。它的工作原理类似于 C 语言的 printf 命令。--pretty=format 选项采用模板字符串的次要值。该模板可以访问占位符变量,这些变量将由提交对象中的数据填充。这些占位符如下所示:

    %H:提交哈希
    %h:缩写提交哈希
    %T:树哈希
    %t:缩写树哈希
    %P:父项哈希
    %p:缩写的父项哈希
    %an:作者姓名
    %aN:作者姓名
    %ae:作者电子邮件
    %aE:作者电子邮件
    %ad:作者日期(格式遵守 --date= 选项)
    %aD:作者日期,RFC2822 风格
    %ar:作者日期,相对日期
    %at: 作者日期、UNIX 时间戳
    %ai:作者日期,ISO 8601 格式
    • %cn:提交者姓名
    %cN:提交者姓名
    %ce:提交者电子邮件
    %cE:提交者电子邮件
    %cd:提交者日期
    %cD:提交者日期,RFC2822 风格
    %cr:提交者日期,相对日期
    %ct:提交者日期、UNIX 时间戳
    %ci:提交者日期,ISO 8601 格式
    %d:引用名称,比如 git-log(1) 的 --decoration 选项
    %e:编码
    %s:主题
    %f:经过清理的主题行,适用于文件名
    • %b:正文
    %N:提交备注
    %gD:引用日志选择器,例如 refs/stash@{1}
    %gd:缩短了引用日志选择器,例如 stash@{1}
    %gs:引用日志主题
    %Cred:将颜色切换为红色
    %Cgreen:将颜色切换为绿色
    %Cblue:将颜色切换为蓝色
    %Creset:重置颜色
    %C (...):颜色规范,如 color.branch 中所述。*配置选项
    %m:左侧、右侧或边界标记
    %n:新行
    %%:原始百分比
    %x00:从十六进制代码中打印一个字节
    %w([[,[,]]]):切换换行,如 git shortlog 的 -w 选项

git-show 的例子


git show --pretty="" --name-only bd61ad98

这将列出提交中涉及的所有文件

git show REVISION:path/to/file

这将显示文件的特定版本。用 Git sha 替换 REVISON

git show v2.0.0 6ef002d74cbbc099e1063728cab14ef1fc49c783

这将显示 v2.0.0 标记,也将在 6ef002d74cbc099e1063728cab14ef1fc49c783 处提交

git show commitA...commitD

这将输出从 commitAcommit D 范围内的所有提交

摘要


git-show 是一个非常通用的命令,用于检查 Git 代码存储库中的对象。它可以用来定位特定版本的特定文件。使用 git-show 检查提交范围将输出该范围之间的所有单个提交。git-show 可以成为创建补丁说明和跟踪存储库变更的有用工具。


分享此文章
下一主题

推荐阅读

将这些资源加入书签,以了解 DevOps 团队的类型,或获取 Atlassian 关于 DevOps 的持续更新。

人们通过满是工具的墙进行协作

Bitbucket 博客

Devops 示意图

DevOps 学习路径

与 Atlassian 专家一起进行 Den 功能演示

Bitbucket Cloud 与 Atlassian Open DevOps 如何协同工作

注册以获取我们的 DevOps 新闻资讯

Thank you for signing up