当前位置: 首页> 科技> 互联网 > 成为git砖家(2): gitk 介绍

成为git砖家(2): gitk 介绍

时间:2025/9/10 22:30:41来源:https://blog.csdn.net/baiyu33/article/details/140738338 浏览次数:2次

大家好,我是白鱼。这篇我们介绍 gitk。

gitk 和 fork 界面对比

当我们在 macOS 上执行 brew install git 后, 得到了 git 命令行工具。 然而这条命令并不会安装 gitk. gitk 是 git 自带的图形化界面工具,也可以称为“穷人版 fork”:

在这里插入图片描述
同一个 repo, fork 的界面是:
在这里插入图片描述
实话说, gitk 确实没有 fork 好看, 但是基本功能还是很相似:查看 commit history 的树状图, 查看每个 commit 修改的文件内容、文件列表等。 由于 gitk 免费,并且在 windows, linux, macos 都可用, 不得不说有时候它是最佳选择。

macOS 安装 gitk

brew install git-gui

是的,你没看错, 是 git-gui.

git 官方对于 gitk 的介绍

实际上是来自 pro git 第二版的附录:
https://git-scm.com/book/zh/v2/附录-A%3A-在其它环境中使用-Git-图形界面

如果你读完了本书,那就已经掌握了很多在命令行中使用 Git 的知识了。 你可以用它来处理本地文件,通过网络连接到他人的仓库,以及高效地与他人协同工作。 不过故事到这儿还没结束。Git 通常还会作为一个组件在更大的生态系统中使用, 而终端并不总是最佳的使用方式。现在我们来看看 Git 在其它环境中的使用, 以及其它应用(包括你的应用)是如何与 Git 协同使用的。

当给公司新人 review code,针对 git commit history 出现了非线性提交记录、扰乱了被提交代码本身时,使用 gitk 可视化的查看 commit tree, 表直观。

gitk 是一个历史记录的图形化查看器。 你可以把它当作是基于 git log 和 git grep 命令的一个强大的图形操作界面。 当你需要查找过去发生的某次记录,或是可视化查看项目历史的时候,你将会用到这个工具。

gitk 使用指南

1. 查看 git commit 树

那么 gitk 相比于 git log --graph 命令, 有啥不一样么?是的,图形界面调整字体大小,比终端明显方便的,gitk能更清晰的从 commit tree 看出问题

以 https://github.com/xylcbd/EasyCNN 仓库为例,左图是执行 git log --graph --pretty=oneline 得到的内容,右图是执行 gitk 后进入图形界面看到的内容(鼠标稍微调整了下各个自窗口大小)。显然,左图什么问题都看不出来, 右图很明显看到了橙黄色区域里的commit和底部红色箭头指向的commit重复了:
在这里插入图片描述

具体到两次 “initialize repo.” 的commit,我们从 gitk 分别查看提交时间和作者:
在这里插入图片描述
在这里插入图片描述
可以看到作者、提交时间完全一样。

2. 查看某一段历史记录

gitk 执行的是完整的 commit tree 的查看, 而如果只对某一段 git commit 历史记录感兴趣, 可以只查看这一段的。

例如我们只对 refactoring framework. add MSE loss function. 以及它之前的commit感兴趣,这一段是完全线性的、没有分叉和合并节点的:
在这里插入图片描述
我们看到对应的 commit hash 值是 d065024 开头, 因此关掉 gitk , 在命令行重新打开 gitk 时增加指定 commit hash:

# 格式: gitk <想要查看的最后一个commit>
gitk d065024

在这里插入图片描述

3. gitk 默认查看的是当前分支

仍然是以一团乱麻的 git commit history 的 EasyCNN 仓库为例子,我们发现在 update digit_data_sample. 这次 commit 之前都还挺正常的, 因此从这次 commit 切出 dev 分支:

git checkout -b dev 12c4dca

再用 gitk 查看: 发现界面很清晰了:
在这里插入图片描述

4. gitk 查看所有分支

gitk --all

上述命令查看所有分支的 commit history:

在这里插入图片描述

5. gitk 查看某个目录的 commit 历史记录

用法:

gitk <目录名>

例如

gitk src![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/2cf41f9a6fd04d3ab461d58e6b683faa.png)

在这里插入图片描述

6. gitk 查看某个文件的 commit 历史记录

gitk <文件名>

例如

gitk README.md

在这里插入图片描述

结语

gitk 相对于纯粹的命令行还是有明显优势的。 不过,它没法在图形界面忽略或显示不同的分支、remote, 显示文件树时也没有很好看的 icon, 没法和 fork 这样的后起之秀相比较。 但作为一个基本的 git gui工具,它是合格的,并且是跨平台的,值得掌握使用。

关键字:成为git砖家(2): gitk 介绍

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: