第50.1节:gitk 和 git-gui
安装 Git 时,你还会获得其视觉工具 gitk 和 git-gui。
gitk 是一个图形化的历史查看器。可以将其视为一个强大的 GUI 壳层,用于 git log 和 git grep。当你试图查找过去发生的事情,或可视化项目历史时,这就是一个非常有用的工具。
gitk 最容易从命令行调用。只需进入一个 Git 仓库,然后输入:
$ gitk [git log options]
gitk 接受许多命令行选项,其中大多数会传递给底层的 git log 动作。其中最有用的选项之一是 --all 标志,它告诉 gitk 显示任何引用可达的提交,而不仅仅是 HEAD。gitk 的界面如下图所示:
图 1-1. gitk 历史查看器。
顶部看起来有点像 git log --graph 的输出;每个点代表一个提交,线条代表父子关系,引用显示为彩色方块。黄色点代表 HEAD,红色点代表尚未成为提交的更改。底部是所选提交的视图;左侧是评论和补丁,右侧是摘要视图。中间是一系列用于搜索历史的控件。
你可以通过右键单击分支名称或提交信息来访问许多与 git 相关的功能。例如,切换到不同分支或选择性地检出一个提交只需单击一下即可。
git-gui 主要是一个用于创建提交的工具。它同样最容易从命令行调用:
$ git gui
它的界面如下图所示:
图 1-2. git-gui 提交工具。
左侧是索引;未暂存的更改在顶部,已暂存的更改在底部。你可以通过单击它们的图标将整个文件在两种状态之间移动,或者通过单击文件名来选择一个文件进行查看。
右上角是 diff 视图,显示当前选中文件的更改。你可以在该区域右键单击以暂存个别代码块(或个别行)。
右下角是消息和操作区域。在文本框中输入你的提交信息,然后单击“提交”以执行类似 git commit 的操作。你还可以选择通过选择“修改”单选按钮来修改上一个提交,这将用上一个提交的内容更新“已暂存更改”区域。然后你可以简单地暂存或取消暂存一些更改,更改提交信息,再次单击“提交”即可用新提交替换旧提交。
gitk 和 git-gui 是面向任务的工具示例。它们各自针对特定目的(查看历史和创建提交)进行了定制,并省略了对该任务不必要的功能。
参考来源
https://git-scm.com/book/en/v2/Git-in-Other-Environments-Graphical-Interfaces
第50.2节:GitHub Desktop
- 网址:GitHub Desktop | Simple collaboration from your desktop
- 价格:免费
- 平台:OS X 和 Windows
- 开发者:GitHub
第50.3节:Git Kraken
- 网址:GitKraken Legendary Git Tools | GitKraken
- 价格:60美元/年(开源、教育、非营利组织、初创公司或个人用途免费)
- 平台:Linux、OS X、Windows
- 开发者:Axosoft
第50.4节:SourceTree
- 网址:Sourcetree | Free Git GUI for Mac and Windows
- 价格:免费(需要账户)
- 平台:OS X 和 Windows
- 开发者:Atlassian
第50.5节:Git Extensions
- 网址:Git Extensions
- 价格:免费
- 平台:Windows
第50.6节:SmartGit
- 网址:SmartGit – Git Client for Windows, macOS, Linux
- 价格:仅限非商业用途免费。永久许可证费用为99美元
- 平台:Linux、OS X、Windows
- 开发者:syntevo