【Git】git命令之追溯文件修改记录git blame和git show文章目录【Git】git命令之追溯文件修改记录git blame 和 git show1、git blame1.1、git blame用法1.2. 举例2、git show2.1、git show命令详解语法参数说明2.2、显示提交详情语法案例2.3、显示标签详情语法案例2.4、显示某次提交某个文件的详情语法案例2.5、例子1、git blame1.1、git blame用法git blame用来追溯一个指定文件的历史修改记录git blame用来追溯一个指定文件的历史修改记录。它能显示任何文件中每行最后一次修改的提交记录。 所以如果你在代码中看到有一个bug你可以使用git blame标注这个文件查看哪一次提交引入了这行。命令用法gitblame filename可以使用 -L 指定文件的行数范围gitblame -L n1,n2 filename1.2. 举例gitblame -L69,82Makefile 查看Makefile这个文件第69--82行最近一次的修改记录git blame的具体显示格式是commit ID(代码提交作者 提交时间 代码位于文件中的行数)实际代码如上图第一列是commit id接下来是提交人、提交时间、代码位于文件中的行数、实际代码。注意一下^1da177e4c3f4这个提交的几行其中的前缀^指出了该文件自第一次提交后从未修改的那些行。2、git showgit 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标签当前指向的提交的文件内容