news 2026/6/14 12:05:09

【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/13 22:23:11

Flutter for OpenHarmony:基于Flutter的声纹动态波形模拟器开发实践

Flutter for OpenHarmony&#xff1a;基于Flutter的声纹动态波形模拟器开发实践 欢迎加入开源鸿蒙跨平台社区&#xff1a; https://openharmonycrossplatform.csdn.net 发布时间&#xff1a;2026年2月9日 技术栈&#xff1a;Flutter 3.22、Dart 3.4、CustomPainter、Animation…

作者头像 李华
网站建设 2026/6/13 15:12:14

模型「漂移」新范式,何恺明新作让生成模型无须迭代推理

何恺明研究团队的最新工作提出了一种在概念上完全不同的范式「漂移模型&#xff08;Drifting Model&#xff09;」&#xff0c;不依赖扩散模型与流模型中常见的微分方程表述&#xff0c;天然支持一步推理&#xff0c;并构建了一种训练目标&#xff0c;使得神经网络优化器能够直…

作者头像 李华
网站建设 2026/6/13 18:24:59

‌A/B测试AI代理:多臂赌博机算法在流量分配策略的优化工具‌

传统A/B测试的流量分配困局 在软件测试领域&#xff0c;传统A/B测试常因固定流量分配导致效率低下——50%用户暴露在次优方案中&#xff0c;造成转化率损失与测试周期冗长。多臂赌博机&#xff08;Multi-Armed Bandit, MAB&#xff09;算法通过动态流量调优&#xff0c;将探索…

作者头像 李华