第11章 历史穿梭

经过了之前众多的实践,版本库中已经积累了很多次提交了,从下面的命令中可以看出有14次提交。


$git rev-list HEAD|wc-l

14


有很多工具可以研究和分析Git的历史提交,在前面的实践中,我们已经多次用到相关的Git命令查看历史提交、查看文件的历史版本、进行差异比较等。本章除了对之前用到的相关Git命令作一下总结外,还要再介绍几款图形化的客户端。

11.1 图形工具:gitk

gitk是最早实现的一个图形化的Git版本库浏览器软件,基于Tcl/Tk实现,因此gitk非常简洁,本身就是由一个1万多行的tcl脚本写成的。gitk的代码已经和Git的代码放在了同一个版本库中,gitk随Git一同发布,不用特别地安装即可运行。gitk可以显示提交的分支图,可以显示提交、文件、版本间的差异等。

在版本库中调用gitk,就会浏览该版本库,显示其提交的分支图。gitk可以像命令行工具一样使用不同的参数进行调用。

显示所有的分支。


$gitk—all


显示2周以来的所有提交。


$gitk—since="2 weeks ago"


显示某个里程碑(v2.6.12)以来,针对某些目录和文件(include/scsi目录和drivers/scsi目录)的提交。


$gitk v2.6.12..include/scsi drivers/scsi


图11-1就是在DEMO版本库中运行gitk—all的显示。

从图11-1中可见不同颜色和形状区分的引用:

绿色的master分支。

黄色的hello_1.0和old_practice里程碑。

灰色的stash。

gitk使用Tcl/Tk开发,在显示上没有系统中原生图形应用那么漂亮的界面,甚至可以用

第11章 历史穿梭 - 图1