1088 字
5 分钟
git-cola:一个被低估的 Git GUI,用过就回不去了

项目地址:https://github.com/git-cola/git-cola

上周我把三个分支的差异搞混了。命令行里 git diff 输出一大坨,眼睛都看花了。那天下午我决定试试图形界面工具。

试了 SourceTree,界面还行,但要注册 Atlassian 账号。我最烦这种强制注册。GitHub Desktop 更简单,可惜只支持 GitHub,我还有 GitLab 的项目。然后我发现了 git-cola。

git-cola 界面

这是什么#

git-cola 是 2008 年开始做的开源项目。Python 写的,界面用 Qt,所以 Linux、Mac、Windows 都能跑。到现在还在维护,最近一次更新是上个月。

和 SourceTree 最大的区别:不需要注册账号。下载下来直接用。这一点对我很重要。

我为什么注意到它#

说实话,我之前觉得图形界面都是给新手用的。命令行多快啊,打几个字就行。直到上周那次分支合并事故。

我当时在做 code review,需要同时看三个分支改了哪些文件。命令行里切来切去,最后自己都搞不清哪个是哪个了。那天晚上我花了两个小时才把分支整理清楚。

第二天我就开始找 GUI 工具。试了四五个,git-cola 是唯一一个让我觉得”够用但不臃肿”的。

实际用了一周#

安装过程比我想象的简单。我是 Mac 用户,本来以为要折腾 Homebrew,结果发现直接用 Python 虚拟环境就行:

Terminal window
python3 -m venv .venv
source .venv/bin/activate
pip install pyqt5
python -m cola

四行命令,没有污染系统。我对这个很满意。

打开之后长这样:

git-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 本身。但作为个人工具,完全够用。

git-cola:一个被低估的 Git GUI,用过就回不去了
https://zionfeng.org/posts/git-cola/
作者
Zion Feng
发布于
2026-05-29
许可协议
CC BY-NC-SA 4.0