
做开发这几年,最头疼的事之一就是跟Git较劲。命令行敲得再熟,碰上复杂的分支合并、冲突解决,心里还是得绷紧一根弦。尤其是项目一紧,脑子就容易乱,一个不小心,push错了分支,或者把别人的提交覆盖了,那种感觉真是欲哭无泪。后来同事推荐了SourceTree,说是Windows和Mac上都有,界面看着挺清爽,能省不少心。一开始半信半疑,毕竟用惯了命令行,总觉得图形界面会不会太“玩具”。但真用上手,才发现这东西确实能解决大问题。它把Git那套抽象的逻辑变成了可视化的流程图,提交、分支、合并,一眼就能看明白,不用再在脑子里硬记那些命令和参数了。
特别是对于刚入行的新人,或者从SVN转过来的老手,SourceTree的学习曲线要平缓得多。不用先背一大堆git命令,就能开始干活。它支持Git和Mercurial两种版本控制系统,对SVN也有一定支持,算是个多面手。日常开发里,最频繁的操作无非就是拉取代码、提交修改、推送分支、处理冲突。这些在SourceTree里都变成了按钮和右键菜单,点一点就完成了。而且它的分支图特别直观,谁在哪个分支上做了什么改动,一目了然,排查问题的时候方便极了。这软件还是免费的,对个人开发者来说,基本没有理由不用。
下面就从实际使用的角度,把下载、安装、常用功能和一些踩过的坑都捋一遍。这篇文章里不会堆砌那些用不上的专业术语,讲的都是实际操作里会碰到的场景,希望能帮还没用过或者正在纠结怎么选工具的开发者,提供一个真实的参考。
安装SourceTree之前,最好先确认一下电脑上装没装Git。虽然SourceTree自带了Git版本,但用系统里的Git有时会更方便,毕竟命令行工具迟早要用到。如果没装,去Git官网下一个最新版装上就行。Windows下安装时,一路下一步就好,注意勾选“将Git添加到系统PATH”那个选项。
首次启动SourceTree,它会让你用一个Atlassian账号登录,这是为了激活软件。没账号的话,现场注册一个就行,免费的。登录之后,它会让你配置一些全局设置,比如你的用户名和邮箱,这个会跟随你的提交记录,务必填对。接着,它会检查并配置Git和Mercurial的可执行文件路径,一般保持默认就行。如果之前电脑上已经装过Git,它会自动识别。
硬件方面,SourceTree本身不挑配置,用的是Electron框架,所以内存占用会比一般的原生应用高一些。建议电脑内存最少4GB,8GB或以上体验会更流畅。硬盘空间预留个几百MB就足够了,毕竟它只是个客户端,代码仓库才是占空间的大头。操作系统方面,Windows 7以上、macOS 10.12以上基本都能跑,但越新的系统,兼容性越好。
还有一点,SourceTree的界面语言可以通过设置切换成简体中文。在菜单栏Tools→Options→General里,找到UI Language,选择中文,重启后就变成熟悉的中文界面了。这对英语不太好的朋友特别友好。
拿到一个项目,第一步肯定是把远程仓库克隆到本地。在SourceTree里,点击“克隆”按钮,弹出对话框,填上远程仓库的URL,再选一个本地目录,点击“克隆”就开始拉代码了。这个过程可视化了进度条,不像命令行里傻等。克隆完成后,左侧会列出这个仓库的分支、标签、远程等信息。
日常提交代码,流程是这样的:在“文件状态”面板里,能看到所有改动过的文件。文件列表分为“工作区更改”和“暂存区更改”。选中一个文件,右侧会显示具体的代码差异,新增的行是绿色的,删除的行是红色的,非常直观。看完确认没问题,点击文件右侧的“暂存”按钮,把它放到暂存区。如果想全部提交,直接点“全部暂存”。然后在下方的提交框里,写上清晰的提交信息,再点“提交”按钮。这时候代码只是提交到了本地仓库,还没推到远程。需要点击右上角的“推送”按钮,选择要推送的分支,确认后才会同步到远程。整个过程鼠标点几下就完成了,不用记任何命令。
SourceTree的分支管理功能也很顺手。新建分支,点击“分支”按钮,输入新分支名称,基于当前提交创建即可。切换分支,双击左侧分支列表里的分支名,或者右键选择“检出”,工作区就会自动更新。合并分支,先切换到目标分支(比如主分支),然后右键点击要合并过来的分支(比如功能分支),选择“合并”,SourceTree会处理合并。如果出现冲突,它会用红色标记冲突文件,此时需要手动编辑文件解决冲突,解决后保存,再执行一次提交,合并就算完成了。这个流程比命令行清晰多了,尤其是看到分支图里那一条条线,那种掌控感是命令行给不了的。

还有一个特别实用的功能,就是“日志/历史”视图。这里能看到这个仓库的所有提交历史,每条提交都有作者、日期和提交信息。点击任意一条,右侧就能看到这次提交改动了哪些文件,具体改了什么内容。如果想回退到某个历史版本,右键点击那条提交,选择“检出”或者“重置当前分支到此次提交”,就能实现回退。这在调试问题的时候特别有用,能快速定位是哪次改动引入了bug。
代码冲突是多人协作时绕不开的坎。命令行下解决冲突,通常要手动编辑冲突标记,然后一个个文件去处理,效率低还容易出错。SourceTree提供了图形化的冲突解决工具,虽然不像专门的合并工具那么强大,但比纯命令行方便太多了。
当拉取代码或者合并分支产生冲突时,SourceTree会在“文件状态”面板里列出冲突文件,并标记为红色。双击一个冲突文件,会弹出一个三栏式的合并界面。左边是“本地”版本,右边是“远程”版本,中间是“合并结果”。你可以从左边或右边选择代码块,放到中间区域,也可以直接在中间区域手动编辑。处理完所有冲突块后,点击“保存”,然后标记为“已解决”。这时候文件就变成绿色的了,可以正常提交。整个过程都是可视化的,能清楚地看到每一处冲突是怎么产生的,以及最终选择了哪一方的代码。
不过话说回来,SourceTree自带的合并工具,在处理特别复杂的冲突时,体验只能说一般。它的代码高亮和自动合并算法,比起专业的Beyond Compare或KDiff3,还是有点差距。如果遇到大量冲突,我通常还是会选择用Beyond Compare作为外部合并工具。SourceTree支持配置外部diff工具,在选项→比较工具里可以设置。设置之后,双击冲突文件,就会调用外部工具来解决了。这样结合了两边的优势,效率会高很多。

快捷键用得好,效率翻倍。SourceTree内置了不少常用操作的快捷键,虽然不算多,但掌握几个关键的,日常操作就能快不少。下面整理一份列表,都是实测可用的,Windows和Mac系统各有不同,注意区分。
| 操作 | Windows | macOS |
|---|---|---|
| 提交 | Ctrl+Enter | Cmd+Enter |
| 推送 | Ctrl+P | Cmd+P |
| 拉取 | Ctrl+Shift+P | Cmd+Shift+P |
| 获取 | Ctrl+Shift+F | Cmd+Shift+F |
| 文件状态 | Ctrl+1 | Cmd+1 |
| 日志/历史 | Ctrl+2 | Cmd+2 |
| 分支 | Ctrl+Shift+B | Cmd+Shift+B |
| 暂存所选 | Ctrl+Shift+S | Cmd+Shift+S |
这些快捷键里,最常用的是提交和推送。提交用Ctrl+Enter,推送用Ctrl+P,拉取是Ctrl+Shift+P。熟练之后,基本可以做到全程键盘操作,鼠标都不用怎么动。刚开始可能不习惯,但用几天形成肌肉记忆后,效率提升明显。
Git图形客户端不止SourceTree一个,市面上还有不少优秀的工具。为了帮你更好地选择,这里挑选几款主流的同类软件做个简单对比。每款软件都有它的侧重点,没有绝对的好坏,适合自己习惯的就是最好的。
| 软件名称 | 主要特点 | 适用人群 | 推荐指数 |
|---|---|---|---|
| GitKraken | 界面酷炫,跨平台 | 追求颜值的开发者 | ★★★★☆ |
| Tower | macOS专属,流畅稳定 | Mac重度用户 | ★★★★☆ |
| GitHub Desktop | 与GitHub集成紧密 | GitHub用户 | ★★★☆☆ |
| GitFork | 轻量快速,功能强大 | 追求效率的老手 | ★★★★☆ |
| SmartGit | 商业软件,功能全面 | 大型项目团队 | ★★★☆☆ |
GitKraken的界面设计确实漂亮,深色主题尤其酷,而且跨平台,Windows、Mac、Linux都能用。它的图形化分支展示效果极佳,但收费版本价格不菲,免费版功能受限。Tower是Mac平台的老牌客户端,操作流畅,功能强大,但只支持Mac,而且同样收费。GitHub Desktop是微软和GitHub官方出的,如果你主要用GitHub托管代码,它集成得很好,但只支持GitHub和GitHub Enterprise,不支持其他平台。GitFork是一款轻量级的客户端,启动速度很快,功能也很全,支持Windows和Mac,价格适中,但知名度不如SourceTree和GitKraken。SmartGit是商业软件,功能非常全面,支持Git、Mercurial、SVN,但价格较高,更适合公司团队购买。
SourceTree的优势在于免费、跨平台、支持Git和Mercurial,而且背靠Atlassian,用户基数大,遇到问题容易找到解决方案。它的劣势是启动速度偏慢,界面略显臃肿,内存占用高一些。但综合来看,对于大多数个人开发者和中小团队,SourceTree是一个性价比很高的选择。

前面提过,SourceTree基于Electron开发,所以对内存有一定要求。为了流畅运行,建议电脑配置至少达到以下水平。当然,配置越高,体验越好,特别是打开大型仓库时,内存充足能明显减少卡顿。
| 配置项 | 最低配置 | 推荐配置 |
|---|---|---|
| 操作系统 | Windows 7 SP1 / macOS 10.12 | Windows 10/11 / macOS 12+ |
| CPU | 双核处理器 | 四核及以上处理器 |
| 内存 | 4GB | 8GB及以上 |
| 显卡 | 集成显卡 | 集成显卡即可 |
| 硬盘 | 500MB可用空间 | SSD固态硬盘 |
如果你的电脑配置偏低,比如内存只有4GB,打开特别大的仓库时,SourceTree可能会出现卡顿,甚至假死。建议你尽量将电脑内存升级到8GB,或者在使用时关闭其他占内存的软件。另外,把仓库放在SSD上,加载速度和操作响应都会快很多。
问题:SourceTree这个收费吗?
SourceTree是免费的,个人和企业都可以免费使用。下载、安装、更新都不需要付费。不过,使用它需要一个Atlassian账号,注册也是免费的。这个账号主要用于软件激活和后续的更新服务。所以,放心大胆地用吧。
问题:SourceTree拉取时有冲突怎么办?
拉取代码时产生冲突,说明本地修改和远程提交有重叠。SourceTree会弹出提示,并列出冲突文件。你需要打开冲突文件,手动编辑,保留需要的代码,然后保存。之后在SourceTree里,右键点击冲突文件,选择“标记为已解决”,最后提交一次合并即可。具体操作流程上文已经详细描述过,多试几次就熟练了。
问题:SourceTree启动很慢,甚至卡死,怎么解决?
这个问题比较常见。SourceTree启动慢,通常是因为它要加载的仓库太多,或者某个仓库太大。可以尝试以下方法:在SourceTree的“书签”里,移除不常用的仓库;定期执行“垃圾回收”功能,清理仓库的冗余数据;关闭一些不必要的窗口,比如“日志/历史”中的搜索框。如果问题依旧,可以尝试重启SourceTree,或者重装软件。
另外,实测发现,SourceTree在处理包含大量文件(比如超过10万个文件)的仓库时,性能会明显下降。打开文件状态面板,滚动都会卡顿。如果你的项目仓库特别大,可能需要考虑用命令行或者其他更轻量的工具来操作。
问题:SourceTree支持Git Flow吗?
支持。SourceTree内置了Git Flow功能,在菜单栏“仓库”→“Git Flow”中可以启动。它会引导你配置feature、release、hotfix等分支的前缀。配置完成后,在“分支”菜单下会多出Git Flow相关的操作,比如“建立新的功能分支”、“合并功能分支”等。不过,如果你是个人开发或者小团队,Git Flow可能会显得有点重,用普通的特性分支就够了。
问题:SourceTree和命令行Git相比,有什么短板?
最大的短板是性能。命令行Git在处理任何操作时,响应速度都远快于SourceTree。如果你习惯了命令行,可能觉得SourceTree有点“笨重”。其次,SourceTree无法实现Git的所有高级功能,有些操作必须要用命令行完成。比如,`git rebase -i`交互式变基,在SourceTree里虽然可以触发,但操作逻辑不如命令行灵活。再有,SourceTree的日志显示,在仓库提交记录特别多时,加载会变慢。所以,SourceTree更适合日常的可视化操作,但遇到复杂问题,还是得靠命令行。
问题:SourceTree支持Mercurial吗?
支持。SourceTree最初就是为Git和Mercurial设计的。在克隆仓库时,可以选择“克隆Mercurial仓库”。在“仓库”菜单里,也可以切换Git/Mercurial工作环境。不过,目前使用Mercurial的团队越来越少,这个功能可能用得不多,但如果你有需要,SourceTree是少数能同时支持两者的免费客户端。
猜你喜欢
用户评论
最新更新
敏捷恢复安天数据恢复工具v2.0.0.1全能恢复
系统工具 / 1.0M / 09-09
主治医师考试宝典主治医师题库v1.0.0.29考试刷题
教育软件 / 30.3M / 09-09
高速浏览器极速上网工具v1.0.0.1多标签浏览
网络应用 / 46.7M / 09-09
执业药师考试宝典药师在线v1.0.0.29考试冲刺版
教育软件 / 30.3M / 09-09
医学三基考试宝典三基题库刷题软件v1.0.0.29多端同步刷题
教育软件 / 30.2M / 09-09
医学高级职称考试宝典医学高级职称考试题库v1.0.0.29刷题冲刺
教育软件 / 30.3M / 09-09
悦书PDF阅读器全能PDF转换工具v5.0.3.2全能阅读转换
办公软件 / 150.4M / 09-09
Stagelight舞台灯光音乐制作软件v3.0.1.6114中文版
媒体影音 / 12.1M / 09-09
Google Drive谷歌云端硬盘电脑客户端v2.34.5075.1619云存储同步
网络应用 / 1.1M / 09-09
焦点智慧教育云平台焦点家校v2.0.9.1家校互动版
教育软件 / 69.0M / 09-09
本类排行
Catmaze 猫之迷宫pc版v1.0.3 绿色版
PC游戏 / 242.4M / 07-21
驻留Stay电脑版官方版v1.0.5 完整版
PC游戏 / 180.3M / 09-04
超级跳跃忍者Super Hyperactive Ninja电脑版官方版v2.0绿色版
PC游戏 / 475.2M / 07-23
Fhtagn!- Tales of the Creeping Madness(蠕行疯狂传说)电脑版v1.0.3官方版
PC游戏 / 104.0M / 07-24
机械矿工Mechanic Miner电脑版官方版v1.0绿色版
PC游戏 / 537.6M / 08-03
我讨厌向后跑I Hate Running BackwardsPC版最新v1.0官方版
PC游戏 / 643.2M / 07-25
Sigi西吉游戏电脑版v3.2.1官方版
PC游戏 / 18.0M / 08-08
还魂尸传奇电脑版最新版v1.2.0官方版
PC游戏 / 61.5M / 07-25
脸黑CHUCHEL Chuchel电脑版v1.0.3 单机版
PC游戏 / 649.9M / 07-25
骑马与砍杀圣战游戏电脑版v3.1绿色版
PC游戏 / 530.7M / 07-25
热门推荐