← 返回博客

15分钟从SourceTree迁移到GitSquid

guide migration

15分钟从SourceTree迁移到GitSquid

SourceTree是整整一代开发者的第一款Git图形客户端。它免费,把staging变得直观可见,对我们当中的许多人来说,正是它让Git第一次真正"开窍"。这段历史值得尊重,也正因如此,告别它才显得比实际更难。本指南将带你一步步完成整个迁移,全程大约15分钟,其中最耗时的一步不过是创建两个API令牌。

声明:本文发布于GitSquid官网。

为什么大家纷纷离开SourceTree

既然你在读这篇文章,想必心里早有自己的理由。我们最常听到的有以下四条:

  • 没有Linux版本。SourceTree只能在macOS和Windows上运行,这一点从未改变。如果你换到Linux机器,或者团队里哪怕只有一位Linux开发者,SourceTree在那里就根本不是选项。
  • 大仓库下的性能。在拥有数千个commit的仓库上,界面会明显卡顿:切换branch要等好几秒,文件状态视图慢如蜗牛,在大仓库上执行一次fetch甚至可能让整个应用直接冻结。
  • 发布节奏缓慢。SourceTree的大版本更新一年只有一两次,缺陷报告可能数月无人理会。应用还能用,但显然它在Atlassian眼里已不是优先事项。
  • Atlassian账号。SourceTree历来要求注册Atlassian或Bitbucket账号,才能使用一个本地Git客户端。对于一个大部分时间只是在你自己磁盘上跑git status的工具来说,这个账号总让人觉得多余。

这些并不意味着SourceTree是个糟糕的工具,只能说它正在老去。想看逐项功能的完整对比,请阅读2026年GitSquid与SourceTree对比。而本文是实操的那一半:到底该怎么搬家。

开始之前:没有任何东西需要导出

这是最让人意外的部分:你的仓库不需要任何迁移步骤,因为仓库本来就只是磁盘上的文件夹。每一个branch、每一个commit、每一个stash、每一个remote、每一个hook都保存在.git目录里,这些状态全部由Git自己掌管。SourceTree从未拥有过其中任何一样东西,它只是一扇窗,窗外的数据始终属于你。

这也是GitSquid没有"导入SourceTree书签"向导的原因:确实没什么可导入的。SourceTree的书签列表不过是一份文件夹路径清单,重新建一份只需一分钟(见下面的第2步)。

这同样意味着尝试是零风险的。保留已安装的SourceTree,让GitSquid指向同样的文件夹,两个工具并行使用一周。两者都是在同一份.git数据上调用Git命令;想换回去,重新打开另一个应用就行。

第1步:安装GitSquid(2分钟)

前往下载页面,获取适合你平台的版本:

  • macOS:原生arm64,在Apple Silicon上没有Rosetta带来的延迟。
  • Windows:x64和原生ARM64。
  • Linux:x64和ARM64。没错,这正是SourceTree从未支持过的平台。

无需创建账号,没有登录界面,也没有遥测授权弹窗。光是这一点,就和SourceTree的首次启动体验形成鲜明对比:打开应用就直接进入主界面,随时可以打开仓库。

第2步:重新打开你的仓库(3分钟)

在主界面上,打开你以前在SourceTree里收藏过的那些文件夹。如果记不清它们都在哪里,SourceTree的书签窗口会显示每个仓库的完整路径,照着列表逐个处理即可。

打开过的仓库会出现在主界面的最近仓库列表中;一旦超过5个,列表上方会出现搜索框,因此再长的书签收藏也只需敲一下键盘就能找到。每个仓库在独立的标签页中打开,标签之间的切换几乎是瞬时的,没有重新扫描,没有转圈等待。对于SourceTree的老用户来说,这往往就是第一个"哦?"的瞬间。

第3步:凭据,唯一需要费点心思的部分(5分钟)

这是唯一值得花几分钟认真对待的一步。这里有两个相互独立的层面,分开理解会更轻松。

Push和pull:Git自带的credential helper

GitSquid不维护自己的凭据存储,它直接使用Git自带的credential helper,也就是你在终端里运行git push时响应的那一套osxkeychain、Git Credential Manager或libsecret配置。实际验证方法:打开终端,cd进入你的任意一个仓库,运行git pull。如果不弹出任何提示就能成功,那么GitSquid无需任何配置即可正常push和pull。

如果它提示输入凭据,说明你的身份认证一直存在SourceTree里,而不是Git的helper中。在Git层面修复一次(为HTTPS配置credential helper,或设置SSH密钥),你机器上的每一个工具都会受益,GitSquid也不例外。

托管平台令牌:设置 → 集成

第二个层面是可选的,但很值得。在设置 → 集成中,你可以为GitHub、GitLab或Bitbucket添加令牌。这些令牌支撑着仓库选择器(在应用内浏览并克隆你的远端仓库)以及pull request相关功能:无需离开GitSquid即可查看、创建和审查PR。

关于Bitbucket有一点要特别说明,毕竟大多数SourceTree用户也是Bitbucket用户:app password已被弃用。请改为前往id.atlassian.com/manage-profile/security/api-tokens创建Atlassian API令牌,然后连同你的Atlassian邮箱一起填入Bitbucket集成。

第4步:把SourceTree的使用习惯对号入座(5分钟)

心智模型几乎可以一对一迁移。下表列出了SourceTree的每个习惯在GitSquid中的落点:

SourceTree中的习惯 GitSquid中的对应功能
File Status视图staging区域,支持按hunk和按行staging
按hunk暂存同样支持,还能拖选你想暂存的具体行
书签窗口主界面的最近仓库列表(超过5个可搜索)+ 标签页
内置终端按钮命令日志(Cmd/Ctrl+Shift+L):GitSquid执行的每条git命令,均可复制
自定义操作git hook编辑器,用于基于hook的自动化
交互式rebase对话框可视化rebase,支持拖放排序

其中有两项值得细看。

行级staging。SourceTree支持按hunk暂存,这在当年确实领先于时代。GitSquid更进一层:在hunk内部直接拖选你想要的具体行,只暂存这些行。如果你曾经为了分离两个不相关的改动而在SourceTree里拆分hunk,那套繁琐的舞步从此可以彻底告别了。

命令日志。SourceTree的终端按钮把你丢进shell,让你去做GUI做不到的事。GitSquid从另一个方向解决同样的需求:命令日志(Cmd/Ctrl+Shift+L)展示应用替你执行的每一条git命令,连同参数,且每一行都可复制。你能清楚看到GUI到底在做什么,可以在任意终端里重放,顺带还得到了大多数GUI从未提供过的最好的Git私教。

第5步:你将获得SourceTree从未有过的东西

前面的步骤让你达到对等水平,而下面这些则是等在另一边、SourceTree完全没有对应物的功能:

  • Conflict Predictor(免费):在merge、rebase或cherry-pick之前,先看到哪些文件会冲突。从此告别"merge全靠运气"的时代。
  • 文件时间线滑块(免费):在任意文件的历史上拖动滑块,逐个commit观看它的演变。
  • Monorepo作用域检测(Pro):GitSquid会识别你的workspace,让你把视图聚焦到单个包,而不是淹没在整个仓库的噪音里。
  • AI生成commit信息和PR描述(Pro):基于你真实的diff生成,使用你自己的API密钥和你选择的服务商。
  • commit前密钥扫描(Pro):API密钥和令牌在commit之前就被拦下,而不是事后靠一次羞耻的force-push补救。
  • Linux支持:同一个应用,运行在SourceTree从未抵达的平台上。
  • 三大平台全部原生arm64:Apple Silicon、Windows on ARM和ARM Linux均运行原生构建。

你可能真心怀念的东西

说句公道话,有两样:

  • 价格。SourceTree完全免费,这是它最有力的论据。GitSquid提供覆盖日常工作流的Free版(staging、commit、branch操作、merge、Conflict Predictor、文件时间线),以及包含上述高级功能的Pro版,每年49欧元。如果你的预算就是零,而且SourceTree的性能也没让你烦心,留下来也是完全说得过去的选择。
  • Mercurial。如果你是仍在坚守的少数派之一:SourceTree自己早就放弃了Mercurial支持,但假如你不知怎么还需要hg,GitSquid帮不了你,它只支持Git,这是有意为之的设计。

总结

整个迁移就是这样:安装,重新打开你的文件夹,把凭据理顺一次,再重新记住大概三个按钮的位置。没有导出,没有导入器,双向都没有锁定,因为你的仓库从一开始就不属于任何GUI。

SourceTree在Git历史上赢得了自己的位置,在没有其他免费工具能做到的年代,它让版本控制变得直观。但对一个工具心怀感激,同时又超越它,这并不矛盾。把GitSquid和它并排试用一周;如果留不住你,SourceTree依然好好地待在你的程序坞里。

从其他客户端迁移过来?我们也准备了同样的从GitKraken迁移指南。

下载GitSquid Free,开始计时吧。15分钟是一句承诺,不是一句口号。