news 2026/7/1 23:52:25

【Git】git命令之追溯文件修改记录:git blame 和 git show

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Git】git命令之追溯文件修改记录:git blame 和 git show

【Git】git命令之追溯文件修改记录:git blamegit show

文章目录

  • 【Git】`git`命令之追溯文件修改记录:`git blame` 和 `git show`
    • 1、git blame
      • 1.1、git blame用法
      • 1.2. 举例
    • 2、git show
      • 2.1、git show命令详解
        • 语法
        • 参数
        • 说明
      • 2.2、显示提交详情
        • 语法
        • 案例
      • 2.3、显示标签详情
        • 语法
        • 案例
      • 2.4、显示某次提交某个文件的详情
        • 语法
        • 案例
      • 2.5、例子

1、git blame

1.1、git blame用法

git blame用来追溯一个指定文件的历史修改记录

git blame用来追溯一个指定文件的历史修改记录。它能显示任何文件中每行最后一次修改的提交记录。 所以,如果你在代码中看到有一个bug,你可以使用git blame标注这个文件,查看哪一次提交引入了这行。
命令用法

gitblame filename

可以使用 -L 指定文件的行数范围:

gitblame -L n1,n2 filename

1.2. 举例

gitblame -L69,82Makefile 查看Makefile这个文件第69--82行最近一次的修改记录


git blame的具体显示格式是:

commit ID(代码提交作者 提交时间 代码位于文件中的行数)实际代码

如上图,第一列是commit id;接下来是提交人、提交时间、代码位于文件中的行数、实际代码。注意一下^1da177e4c3f4这个提交的几行,其中的前缀^指出了该文件自第一次提交后从未修改的那些行。

2、git show

git show命令用于显示各种类型的对象,对于提交,它显示日志消息和文本差异,对于标签,它显示标签消息和引用对象。

2.1、git show命令详解

语法
gitshow[options]<object>
参数
参数描述
optionsgit show 命令使用的选项。
object需要查看的对象。
说明

显示一个或多个对象(blobs,树,标签和提交)。对于提交,它显示日志消息和文本差异。 它还以git diff-tree --cc生成的特殊格式呈现合并提交。

对于标签,它显示标签消息和引用对象。对于树,它显示的名称(相当于使用git ls-tree--name-only选项)。

对于简单的blobs,它显示了普通的内容。该命令采用适用于git diff-tree命令的选项来控制如何显示提交引入的更改

2.2、显示提交详情

语法
gitshow commitId
案例

我们首先,使用git log命令,查看提交日志,具体命令如下:

gitlog

执行完毕后,如下图所示:

现在,我们使用git show命令,查看提交的详情,具体命令如下:

gitshow 1c9fc20

执行完毕后,如下图所示:

我们看到,此时,我们使用了git show命令查看了提交的详情。

2.3、显示标签详情

语法
gitshow tagname
案例

我们首先,使用git tag命令,查看 git 的 tag 列表,具体命令如下:

gittag

执行完毕后,如下图所示:

现在,我们使用git show命令,查看tag的详情,具体命令如下:

gitshow releaseV2

执行完毕后,如下图所示:

我们看到,此时,我们使用了git show命令查看了tag的详情。

2.4、显示某次提交某个文件的详情

语法
gitshow commitId fileName
案例

我们首先,使用git log命令,查看git的提交日志列表,具体命令如下:

gitlog

执行完毕后,如下图所示:

现在,我们使用git show命令,查看某次提交某个文件的修改详情,具体命令如下:

gitshow 7aed75a4 haicoder.txt

执行完毕后,如下图所示:

我们看到,此时,我们使用了git show命令查看了某次提交的某个文件的修改详情。

2.5、例子

  • git show [commit_id]查看某次历史提交信息的完整信息

  • git show [commit_id]:fileName查看某次commit中某个文件的内容

  • git show HEAD查看HEAD标签当前指向的提交的完整信息

  • git show HEAD:fileName查看HEAD标签当前指向的提交的文件内容

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/28 22:45:09

无位置传感器无刷直流电机,一篇Sci的复现,采用反相电动势观测器的方法进行无位置传感器控制

无位置传感器无刷直流电机&#xff0c;一篇Sci的复现&#xff0c;采用反相电动势观测器的方法进行无位置传感器控制&#xff0c;反相电动势观测值和电机实际输出值很好吻合。 无位置传感器无刷直流电机控制总带着点"盲人摸象"的趣味。传统方法像是霍尔传感器突然罢工…

作者头像 李华
网站建设 2026/6/29 22:05:11

【毕设】4S店车辆管理系统

&#x1f49f;博主&#xff1a;程序员俊星&#xff1a;CSDN作者、博客专家、全栈领域优质创作者 &#x1f49f;专注于计算机毕业设计&#xff0c;大数据、深度学习、Java、小程序、python、安卓等技术领域 &#x1f4f2;文章末尾获取源码数据库 &#x1f308;还有大家在毕设选题…

作者头像 李华
网站建设 2026/6/26 17:00:52

离职与招聘入职数据怎么联动?智能 HR 系统实操指南

在企业人力资源管理中&#xff0c;离职管理与招聘入职是环环相扣的核心环节&#xff0c;离职数据中藏着企业人才留存的问题&#xff0c;招聘入职数据则反映着人才补充的效率与质量&#xff0c;二者的割裂会让企业人力决策陷入片面化。一体化智能 HR 系统的核心价值之一&#xf…

作者头像 李华