Git GUI客户端测评

2018年6月2日

我认为,Git GUI客户端有两种。一种是简单的Git外壳,把命令行操作封装成图形界面,这类工具有TortoiseGit。另一种客户端是Git仓库管理工具,它们可以定期更新Git本地仓库,更新子模块。

Git外壳

我今天要找一下哪些Git GUI客户端支持--find-copies-harder,于是写本文记录一下。

2021年3月,我要在Linux(Ubuntu)上运行Git GUI。至少需要支持interactive rebase。最好免费。

TortoiseGit

我最常用的是TortoiseGit,因为以前用的是TortoiseSvn,觉得比较顺手。

我发现查看diff是我日常git操作。提交前可能查看不止一次(比如使用提交后恢复)。查看历史时当然也要双击文件看diff。TortoiseGit可以查看那补丁,但没有内嵌双栏对比工具,而我比较喜欢用Beyond Compare查看差异。

没有内嵌双栏差异比较工具可能算是TortoiseGit的一个劣势。

另外,TortoiseGit不能在日志窗口调用--find-copies-harder,每次怀疑某个提交包含复制时,总是要打开命令行运行一下,不是很方便。

不支持Linux。

GitKraken

Git客户端竟然需要登录?!显然GitKraken的公司热爱收集信息,可能侵犯用户隐私。基础分已经是差评了!GitKraken有不需要登录的stand alone版本,但是stand alone版本必须付费。由此看来,普通版免费的原因就是在拿登录用户的信息卖钱。

可以自动获取(fetch)自动剪枝,但不能自动拉取(pull)。

浏览了一下,并没有发现调用--find-copies-harder的功能。

SmartGit

浏览了一下,并没有发现调用--find-copies-harder的功能。SmartGit附带DeepGit工具,DeepGit用于查找文件里的代码段的出处,但DeepGit并不能找到我的复制。

SmartGit不好用。配置比较少,操作不如TortoiseGit那样直观,而且没有帮助文件。

优点是SmartGit在日志中会探测重命名。

不免费,最多用30天。虽然可以通过删除配置文件再次使用30天,但总归不太方便,需要重新配置。

GitEye

它用的是Eclipse框架,实现得很有创意,显示了Eclipse框架强大的扩展性。从功能角度说,呃,一般。当然也不支持--find-copies-harder

GitAhead

界面简洁,但不支持interactive rebase[1]

Git Cola

显示历史的功能很弱,不能显示所有branch,要手打命令。也不能interactive rebase。

Git Force

操作很卡

Git仓库管理工具

SourceTree

需要登录。

SourceTree有自定义操作,可以对仓库、SHA、文件执行操作。所以,尽管SourceTree没有内置查找复制的功能,但可以用自定义操作调用脚本实现。

SourceTree可以自动获取(fetch),但不能自动拉取(pull)。

不支持Linux。

Git Extensions

可以创建自定义命令,有插件。可以自动获取(fetch)自动,但不能自动拉取(pull)。

只有2.5版本支持Linux,而最新版本已经是3点几了。

参考资料

  1. AndreKR. Support interactive rebase by starting git. . 2019-02-16 [2021-03-22].