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

2023-11-21 07:30

本文主要是介绍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 标注这个文件,查看哪一次提交引入了这行。

命令用法:

git blame filename

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

git blame -L n1,n2 filename

1.2. 举例

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

在这里插入图片描述
git blame的具体显示格式是:

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

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

2、git show

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

2.1、git show命令详解

语法

git show [options] <object>

参数

参数描述
optionsgit show 命令使用的选项。
object需要查看的对象。

说明

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

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

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

2.2、显示提交详情

语法

git show commitId

案例

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

git log

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

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

git show 1c9fc20

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

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

2.3、显示标签详情

语法

git show tagname

案例

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

git tag

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

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

git show releaseV2

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

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

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

语法

git show commitId fileName

案例

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

git log

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

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

git show 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标签当前指向的提交的文件内容
    在这里插入图片描述

这篇关于git命令之追溯文件修改记录:git blame 和 git show【笔记】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/400783

相关文章

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

Git中恢复已删除分支的几种方法

《Git中恢复已删除分支的几种方法》:本文主要介绍在Git中恢复已删除分支的几种方法,包括查找提交记录、恢复分支、推送恢复的分支等步骤,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录1. 恢复本地删除的分支场景方法2. 恢复远程删除的分支场景方法3. 恢复未推送的本地删除分支场景方法4. 恢复

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

关于Maven生命周期相关命令演示

《关于Maven生命周期相关命令演示》Maven的生命周期分为Clean、Default和Site三个主要阶段,每个阶段包含多个关键步骤,如清理、编译、测试、打包等,通过执行相应的Maven命令,可以... 目录1. Maven 生命周期概述1.1 Clean Lifecycle1.2 Default Li

windows系统下shutdown重启关机命令超详细教程

《windows系统下shutdown重启关机命令超详细教程》shutdown命令是一个强大的工具,允许你通过命令行快速完成关机、重启或注销操作,本文将为你详细解析shutdown命令的使用方法,并提... 目录一、shutdown 命令简介二、shutdown 命令的基本用法三、远程关机与重启四、实际应用

python修改字符串值的三种方法

《python修改字符串值的三种方法》本文主要介绍了python修改字符串值的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录第一种方法:第二种方法:第三种方法:在python中,字符串对象是不可变类型,所以我们没办法直接

Mysql8.0修改配置文件my.ini的坑及解决

《Mysql8.0修改配置文件my.ini的坑及解决》使用记事本直接编辑my.ini文件保存后,可能会导致MySQL无法启动,因为MySQL会以ANSI编码读取该文件,解决方法是使用Notepad++... 目录Myhttp://www.chinasem.cnsql8.0修改配置文件my.ini的坑出现的问题

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

Redis的Hash类型及相关命令小结

《Redis的Hash类型及相关命令小结》edisHash是一种数据结构,用于存储字段和值的映射关系,本文就来介绍一下Redis的Hash类型及相关命令小结,具有一定的参考价值,感兴趣的可以了解一下... 目录HSETHGETHEXISTSHDELHKEYSHVALSHGETALLHMGETHLENHSET