项目地址:https://github.com/git-cola/git-cola
上周我把三个分支的差异搞混了。命令行里 git diff 输出一大坨,眼睛都看花了。那天下午我决定试试图形界面工具。
试了 SourceTree,界面还行,但要注册 Atlassian 账号。我最烦这种强制注册。GitHub Desktop 更简单,可惜只支持 GitHub,我还有 GitLab 的项目。然后我发现了 git-cola。

这是什么
git-cola 是 2008 年开始做的开源项目。Python 写的,界面用 Qt,所以 Linux、Mac、Windows 都能跑。到现在还在维护,最近一次更新是上个月。
和 SourceTree 最大的区别:不需要注册账号。下载下来直接用。这一点对我很重要。
我为什么注意到它
说实话,我之前觉得图形界面都是给新手用的。命令行多快啊,打几个字就行。直到上周那次分支合并事故。
我当时在做 code review,需要同时看三个分支改了哪些文件。命令行里切来切去,最后自己都搞不清哪个是哪个了。那天晚上我花了两个小时才把分支整理清楚。
第二天我就开始找 GUI 工具。试了四五个,git-cola 是唯一一个让我觉得”够用但不臃肿”的。
实际用了一周
安装过程比我想象的简单。我是 Mac 用户,本来以为要折腾 Homebrew,结果发现直接用 Python 虚拟环境就行:
python3 -m venv .venvsource .venv/bin/activatepip install pyqt5python -m cola四行命令,没有污染系统。我对这个很满意。
打开之后长这样:

左边是文件列表,右边上面是暂存区,右边下面是差异视图。整个界面很干净,没有多余的按钮。
我用它做了几件事:
日常提交。改完代码,点一下文件,右边立刻显示改了哪些行。写提交信息,点提交,搞定。比命令行快,因为不用打那么多字。
分支管理。菜单栏有个 Branch 选项,点一下能看到所有分支,双击切换。对于经常切换分支的人来说,这比 git checkout xxx 直观多了。
查看历史。它有个 DAG 视图,可以看到分支合并的图形化展示。这个功能比 git log --graph 好看太多,而且可以拖拽调整布局。
和其他工具比
我之前用过 SourceTree 和 GitHub Desktop,说说区别。
SourceTree 功能最多,但太重了。启动要五六秒,界面一堆按钮,而且要注册账号。我注册完就再没打开过。
GitHub Desktop 界面最好看,但功能太少。只支持 GitHub,不支持 GitLab 或者私有仓库。我还有几个项目在 GitLab 上,用不了。
git-cola 介于两者之间。功能够用,界面清爽,启动快,不绑定任何平台。我觉得它是”刚刚好”的那个。
优缺点
说了这么多好处,也说说缺点。
优点。轻量,启动秒开。不需要注册,下载即用。跨平台,Linux 也有完整支持。命令行集成好,可以直接用 git cola 启动。
缺点。界面有点老派,不如 GitHub Desktop 现代。合并冲突的解决体验一般,还是要靠命令行。插件生态几乎没有。
适合谁
如果你和我一样,讨厌被迫注册账号,git-cola 值得试试。特别是 Linux 用户,大部分 Git GUI 都不支持 Linux,但 git-cola 支持。
如果你是 Windows 或 Mac 用户,而且习惯用 SourceTree,可能没必要换。但如果你和我一样,受不了 SourceTree 的注册流程,这是个不错的替代品。
安装难度
简单。只要你会用 pip,就能搞定。
推荐度
4 星(满分 5 星)。扣掉的一星是因为界面确实有点老,但这不影响使用。
FAQ
能同时打开多个仓库吗?可以,每个仓库一个窗口。我经常同时开三四个。
支持中文界面吗?支持,会根据系统语言自动切换。我的 Mac 上打开就是中文。
和 GitKraken 比呢?GitKraken 界面更好看,但免费版有限制。git-cola 完全免费,没有功能限制。
适合团队使用吗?它只是个客户端,团队协作还是要靠 Git 本身。但作为个人工具,完全够用。