SourceTree实战指南——Git可视化管理从入门到精通

SourceTree实战指南——Git可视化管理从入门到精通

告别命令行恐惧症,用SourceTree把Git变成看得见的操作。


一、为什么测试人员需要SourceTree

1.1 测试人员的Git困境

很多测试同学对Git又爱又恨:

困境描述
😰 命令记不住git resetgit rebasegit cherry-pick……参数一多就懵
😰 状态看不清不知道当前在哪个分支、哪些文件改过、提交历史一团乱
😰 操作怕出错不小心push -f、合并错了分支、代码丢了找不回来
😰 冲突不敢动看到<<<<<<< HEAD就头大,不知道怎么选

1.2 SourceTree能解决什么

能力命令行SourceTree
查看历史git log --oneline --graph一目了然的提交图谱
查看改动git diff左右分栏高亮对比
分支管理git branch -a左侧树形分支列表
暂存提交git add .+git commit -m勾选文件 + 填写信息
合并冲突手动编辑<<<<<<<可视化三方对比,点击选择
回滚操作git reset --hard HEAD~1右键菜单,清晰标注影响

1.3 与其他Git工具的对比

维度SourceTreeGitHub DesktopTortoiseGitGitKraken
免费✅ 免费✅ 免费✅ 免费⚠️ 部分功能付费
平台Win / MacWin / MacWin onlyWin / Mac / Linux
多仓库支持✅ Git / Hg❌ 仅Git✅ Git / SVN✅ Git
分支图谱⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
操作丰富度⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
学习曲线中等中等
交互式变基✅ 支持✅ 支持
子模块管理✅ 支持✅ 支持✅ 支持

结论:SourceTree在功能完整性和免费之间取得了最佳平衡,是测试团队的首选Git可视化工具。


二、环境搭建与快速体验

2.1 安装准备

Step 1:安装Git

从 git-scm.com 下载并安装Git。

⚠️ 安装路径不要包含中文和空格,建议装到D:\GitC:\Program Files\Git

验证安装:

bash

git --version # git version 2.47.0.windows.1

Step 2:安装SourceTree

从 sourcetreeapp.com 下载安装。

⚠️ 安装过程中可能需要注册Atlassian账号(免费),或用Google账号登录。

Step 3:配置全局用户信息

bash

git config --global user.name "你的名字" git config --global user.email "your_email@example.com"

2.2 SSH密钥配置(连接远程仓库)

生成SSH密钥

bash

ssh-keygen -t rsa -b 4096 -C "your_email@example.com" # 一路回车,默认保存在 ~/.ssh/id_rsa

查看公钥并添加到Git平台

bash

# Windows PowerShell cat ~/.ssh/id_rsa.pub

将输出的公钥添加到 GitHub → Settings → SSH and GPG keys / GitLab → Settings → SSH Keys。

在SourceTree中配置SSH

工具 → 选项 → 一般,SSH客户端配置选择OpenSSH

2.3 界面速览

打开SourceTree后的主界面分为四大区域:

┌──────────────────────────────────────────────────────────┐ │ 工具栏:提交/拉取/推送/抓取/分支/合并/贮藏/终端 │ ├──────────────┬───────────────────────────────────────────┤ │ 左侧面板 │ 右侧主区域 │ │ │ │ │ 📁 工作区 │ ┌─────────────────────────────────┐ │ │ ├─ 本地仓库 │ │ 提交历史图谱(可视化分支线) │ │ │ ├─ 远程仓库 │ │ ● ●──● ●──● │ │ │ │ │ │ \ / \ / │ │ │ ├─ 分支列表 │ │ ● ● │ │ │ ├─ 标签列表 │ └─────────────────────────────────┘ │ │ ├─ 贮藏列表 │ ┌─────────────────────────────────┐ │ │ └─ 子模块 │ │ 文件状态区域 │ │ │ │ │ ✅ 已暂存文件 │ │ │ │ │ ⚠️ 未暂存文件 │ │ │ │ └─────────────────────────────────┘ │ └──────────────┴───────────────────────────────────────────┘

2.4 第一个操作:克隆仓库

方式一:通过URL克隆

文件 → 克隆/新建→ 输入仓库URL → 选择本地路径 → 点击"克隆"

方式二:直接拖入本地仓库

如果本地已有仓库文件夹,直接拖入SourceTree窗口即可添加。


三、核心操作:从日常提交到分支管理

3.1 工作区、暂存区、本地仓库、远程仓库

SourceTree完美可视化Git的四层结构:

工作区 暂存区 本地仓库 远程仓库 (Working) → (Staging) → (Local) → (Remote) 修改文件 git add git commit git push ↓ ↓ ↓ ↓ 【未暂存文件】 【已暂存文件】 【提交历史】 【远程分支】

在SourceTree中的对应关系:

Git概念SourceTree显示位置
工作区改动右侧"未暂存的文件"区域
暂存区右侧"已暂存的文件"区域
本地仓库提交历史图谱中本地分支节点
远程仓库提交历史图谱中origin/分支名节点

3.2 提交流程(日常最高频操作)

Step 1:修改代码 → 文件出现在"未暂存的文件"区域 Step 2:勾选要提交的文件 → 自动移到"已暂存的文件"区域(= git add) Step 3:在底部输入提交信息 → 点击"提交"(= git commit) Step 4:点击工具栏"推送" → 选择分支 → 确认(= git push)

提交信息规范

<type>(<scope>): <subject> <body>

示例:

feat(login): 新增手机号验证码登录 - 接入短信验证码服务 - 新增60秒倒计时组件 - 添加手机号格式校验

💡 SourceTree会记住你最近的提交信息模板,下次可以直接选择复用。

3.3 分支管理

创建分支

在SourceTree中有三种方式:

方式操作
工具栏创建点击"分支"按钮 → 输入分支名 → 确定
右键创建在某个提交上右键 → "分支..."
从当前HEAD创建双击左侧分支列表空白处

切换分支

双击左侧分支列表中的目标分支名,或右键 → "检出"。

分支命名规范

分支类型命名格式示例
功能分支feature/功能描述feature/user-login
修复分支bugfix/问题描述bugfix/fix-login-crash
发布分支release/版本号release/v2.1.0
热修复分支hotfix/问题描述hotfix/payment-error
测试分支test/测试内容test/regression-v2.0

分支图谱解读

SourceTree的提交图谱用颜色区分不同分支,每个节点代表一次提交:

● master(蓝色) │ ├──● feature/login(绿色) ← 从master分出 │ │ │ ● 完成登录功能 ← 绿色分支上的提交 │ │ ├──●──● merge login → master ← 合并节点(两条线汇聚) │ ● tag: v1.0.0 ← 标签标记

3.4 拉取与推送

操作SourceTree按钮等价命令说明
拉取"拉取"git pull从远程拉取 + 自动合并
抓取"抓取"git fetch只下载远程更新,不合并
推送"推送"git push将本地提交推送到远程

💡建议:日常操作先"抓取"查看远程变化,再决定是否"拉取",避免盲目合并。


四、冲突解决——可视化对比让冲突不再可怕

4.1 冲突产生的原因

origin/master │ A ── B ── C ── D ← 同事推送了D \ E ── F ← 你本地提交了E、F

当你git pull或合并分支时,如果同一个文件的同一行被两个人修改了,就会产生冲突。

4.2 SourceTree冲突解决三步骤

Step 1:触发冲突

当你拉取或合并后,SourceTree会弹出冲突提示:

⚠️ 合并冲突 以下文件存在冲突,需要解决: src/pages/Login.vue src/utils/api.js

Step 2:打开冲突文件

在"文件状态"区域,冲突文件会显示 ⚠️ 图标。右键冲突文件 → "解决冲突" → "打开外部合并工具"。

Step 3:可视化三方对比

SourceTree默认调用系统内置的合并工具,显示三栏对比:

┌──────────────┬──────────────┬──────────────┐ │ 我的版本 │ 共同祖先 │ 他人的版本 │ │ (Mine) │ (Base) │ (Theirs) │ ├──────────────┼──────────────┼──────────────┤ │ const url │ const url │ const url │ │ = '/v2/' │ = '/v1/' │ = '/v3/' │ │ + 'login' │ + 'login' │ + 'signin' │ └──────────────┴──────────────┴──────────────┘ ↓ ┌──────────────────┐ │ 合并结果(可编辑) │ │ const url │ │ = '/v3/' │ │ + 'login' │ └──────────────────┘

你可以逐行点击选择保留哪一方的修改,或手动编辑合并结果。

4.3 推荐外部合并工具

工具特点推荐度
Beyond Compare最强大的文件对比工具,支持文件夹对比⭐⭐⭐⭐⭐
KDiff3免费开源,三方合并⭐⭐⭐⭐
VS Code如果你用VS Code编辑,内置diff即可⭐⭐⭐⭐
Meld免费,界面简洁⭐⭐⭐

配置外部合并工具

工具 → 选项 → 对比→ 外部对比工具 / 合并工具 → 选择对应工具。

4.4 冲突解决的4种策略

策略SourceTree操作适用场景
保留我的冲突文件右键 → 解决冲突 → "使用我的版本"确定自己的修改完全正确
保留他人的冲突文件右键 → 解决冲突 → "使用他人的版本"自己的修改需要被覆盖
手动合并打开外部合并工具,逐行选择两边修改都有价值(推荐)
取消合并右键 → "中止合并"还没准备好合并,先回退

4.5 冲突预防最佳实践

实践说明
提交前先拉取减少与远程的差异积累
小步提交每次提交只改少量文件,减少冲突范围
及时合并主分支定期将master/main合并到功能分支
沟通协调改公共文件前先跟团队打招呼

五、高级操作——SourceTree让复杂Git操作变简单

5.1 贮藏(Stash)——临时保存工作现场

场景:你正在开发新功能,突然需要切到另一个分支修Bug,但当前代码还没改完不想提交。

SourceTree操作

工具栏 → 贮藏→ 输入描述信息 → 确定

此时工作区恢复干净,你可以放心切换分支。修完Bug后:

左侧"贮藏"列表 → 右键贮藏项 → "应用贮藏"→ 工作现场恢复!

贮藏管理

操作右键菜单
应用贮藏(保留贮藏)"应用贮藏"
应用并删除贮藏"应用并删除贮藏"
删除贮藏"删除贮藏"
从贮藏创建分支"分支..."

5.2 遴选(Cherry-Pick)——精确搬运单个提交

场景:你在feature-A分支修复了一个Bug(提交编号a1b2c3),现在需要把这个Bug修复也应用到feature-B分支。

SourceTree操作

  1. 切换到目标分支feature-B
  2. 在提交历史中找到a1b2c3(可以展开所有分支查看)
  3. 右键该提交 → "遴选"
  4. SourceTree会自动将这个提交应用到当前分支

💡 遴选只搬运变更内容,不搬运整个分支历史,非常精准。

5.3 重置(Reset)——时光倒流

三种重置模式

模式SourceTree选项影响范围使用场景
软重置"软合并——保留所有本地改动"只移动HEAD,保留暂存区和工作区撤销提交但保留代码
混合重置(默认)"混合合并——保留工作副本但重置索引"移动HEAD,清空暂存区,保留工作区重新整理提交
硬重置"强行合并——丢弃所有改动"移动HEAD,清空暂存区和工作区⚠️ 彻底回退,慎用

SourceTree操作

在目标提交上右键 → "将当前分支重置到这次提交" → 选择模式 → 确定。

5.4 逆转提交(Revert)——安全的撤销方式

与Reset的区别

ResetRevert
原理移动HEAD指针创建新的反向提交
历史记录删除提交记录保留完整历史
远程安全❌ 已推送的提交不要reset✅ 可以安全推送到远程
使用场景本地未推送的提交已推送到远程的提交

SourceTree操作

在要撤销的提交上右键 → "逆转提交" → SourceTree会自动创建一个新的反向提交。

5.5 交互式变基(Interactive Rebase)——整理提交历史

场景:你的功能分支上有10个零碎的提交("fix typo"、"WIP"、"临时保存"),提交PR前想整理成3个清晰的提交。

SourceTree操作

  1. 在要整理的最早提交的父提交上右键 → "交互式变基...到当前分支"
  2. 弹出对话框,显示所有待整理的提交
  3. 对每个提交选择操作:
操作说明
拣选(Pick)保留此提交
压缩(Squash)合并到上一个提交,保留提交信息
修复(Fixup)合并到上一个提交,丢弃提交信息
编辑(Edit)暂停变基,允许修改此提交
删除(Drop)删除此提交
  1. 调整顺序:直接拖拽提交行
  2. 点击"确定"执行

5.6 标签(Tag)——给提交打版本标记

SourceTree操作

在要打标签的提交上右键 → "标签..." → 输入标签名(如v2.0.0)→ 确定。

推送标签到远程

标签创建后,勾选"推送所有标签"或在标签上右键 → "推送标签到origin"。

5.7 子模块(Submodule)管理

场景:你的项目依赖另一个Git仓库(如公共组件库),需要管理这种嵌套仓库关系。

添加子模块

仓库 → 添加子模块→ 输入子模块URL和本地路径。

更新子模块

在左侧"子模块"列表中右键 → "拉取子模块"。


六、Git工作流——用SourceTree落地团队规范

6.1 Git Flow(经典分支模型)

适用于有明确版本发布周期的项目:

master ●──────●──────────────────────●────── \ / \ / release ●──● v1.0.0 ●──● v1.1.0 \ / / develop ●──●──●──●──●──●──●──●──●── / \ / feature/ ●──● ●──●──● login (开发中) pay (开发完成) \ hotfix/ ●──● urgent (紧急修复)

SourceTree中的Git Flow操作

仓库 → Git Flow → 初始化仓库→ 设置分支前缀 → SourceTree自动创建develop分支。

工具栏会出现"Git Flow"按钮,点击可选择:

操作自动做的事情
开始新功能develop创建feature/xxx分支
完成功能合并回develop,删除feature/xxx
开始发布develop创建release/x.x.x
完成发布合并到masterdevelop,打标签
开始热修复master创建hotfix/xxx
完成热修复合并到masterdevelop,打标签

6.2 GitHub Flow(简化分支模型)

适用于持续部署的Web项目:

main ──●────●────●────●────●── \ \ \ \ / PR #1 ●──● │ │ │ │ │ │ PR #2 ●────● │ │ PR #3 ●──●

核心原则:

  • main分支始终可部署
  • main创建描述性分支
  • 提交PR进行代码审查
  • 合并后立即部署

6.3 测试团队的分支策略

环境分支测试类型说明
开发环境develop冒烟测试每日构建后快速验证
测试环境test/release/x.x.x功能测试、回归测试提测后集中测试
预发布环境release/x.x.x验收测试上线前最后一轮
生产环境master/main线上验证发布后线上监控

测试人员的日常操作流程

1. 拉取最新代码 抓取 → 确认test分支有更新 → 拉取test分支 2. 切换测试分支 双击 test 分支 3. 测试发现问题后 在对应的bugfix分支上验证修复 → 合并后重新拉取test分支 4. 版本发布后 确认master分支打上正确的版本标签

七、测试人员的SourceTree实战场景

7.1 场景一:拉取指定版本进行回归测试

需求:测试人员需要拉取v2.0.0版本的代码进行回归测试。

操作步骤

  1. 抓取获取所有远程标签
  2. 在左侧"标签"列表中找到v2.0.0
  3. 右键标签 → "检出" → 选择"以分离HEAD状态检出"
  4. 此时工作区即为v2.0.0版本的代码

💡 如果需要在标签上做修改,勾选"创建新分支"后再检出。

7.2 场景二:验证Bug修复是否合入

需求:开发说Bug已经修复并合入test分支,测试需要验证。

操作步骤

  1. 切换到test分支
  2. 抓取+拉取获取最新代码
  3. 查看提交历史图谱,找到修复相关的提交
  4. 点击该提交,查看右侧"变更文件"列表
  5. 确认修改的文件和内容符合预期
  6. 开始功能验证

查看某次提交改了哪些文件

点击提交节点 → 右侧下方显示"变更文件" → 双击文件查看diff详情。

7.3 场景三:比较两个版本的差异

需求:对比v1.0.0v2.0.0之间代码的变化,评估测试范围。

操作步骤

  1. 按住Ctrl(Mac上Cmd),点击选中两个提交/标签
  2. 右键 → "比较选中项"
  3. SourceTree显示所有变更文件列表
  4. 双击任意文件查看具体差异

另一种方式——文件状态筛选

左侧分支列表 → 右键分支 → "与当前分支比较"→ 显示差异文件列表。

7.4 场景四:查找Bug引入的提交(二分查找)

需求:线上出现了一个Bug,但不确定是哪次提交引入的。

使用SourceTree辅助git bisect

虽然二分查找主要在命令行执行,但SourceTree的可视化历史能帮你快速缩小范围:

  1. 在提交历史上,找到"上次正常的版本"和"出问题的版本"
  2. 观察两者之间的提交,按文件变更筛选可疑提交
  3. 点击可疑提交查看变更内容
  4. 检出可疑提交进行验证

快捷搜索提交

Ctrl+F(Mac上Cmd+F)→ 输入关键词 → SourceTree高亮匹配的提交信息。

7.5 场景五:管理测试脚本仓库

需求:测试团队的自动化测试脚本也需要版本管理。

推荐的测试仓库结构

test-automation/ ├── testcases/ # 测试用例脚本 │ ├── login/ │ ├── payment/ │ └── user/ ├── testdata/ # 测试数据文件 │ ├── users.csv │ └── products.json ├── config/ # 环境配置 │ ├── dev.yaml │ ├── test.yaml │ └── prod.yaml ├── utils/ # 公共工具函数 ├── reports/ # 测试报告(.gitignore中忽略) └── README.md

测试脚本的提交规范

test(login): 新增手机号登录自动化用例 - 新增验证码登录场景 - 新增密码登录场景 - 新增异常场景(错误验证码、过期验证码) 关联需求:REQ-2024-001 测试环境:test

八、团队协作——SourceTree让多人协作井井有条

8.1 代码审查流程

开发者 审查者(测试/开发) │ │ ├─ 完成功能开发 │ ├─ 推送到 feature/xxx │ ├─ 发起 Pull Request ──→ │ │ ├─ 在SourceTree中查看PR │ ├─ 抓取 feature/xxx 分支 │ ├─ 切换到该分支本地验证 │ ├─ 查看提交历史和diff │ ├─ 发表审查意见 │ ←─── ├─ 批准或要求修改 ├─ 根据反馈修改 │ ├─ 推送修改 ──────────→ │ │ ├─ 再次审查 │ ←─── ├─ 批准合并 ├─ 合并到主分支 │

审查者如何在SourceTree中审查

  1. 抓取获取PR分支
  2. 在左侧"远程分支"中找到origin/feature/xxx→ 右键检出
  3. 右键该分支 → "与develop比较" → 查看所有变更
  4. 逐个文件双击查看diff
  5. 必要时本地运行验证

8.2 多人协作的最佳实践

原则SourceTree操作
提交前先拉取点击"拉取"按钮
小步提交、频繁推送每完成一个小功能就提交+推送
提交信息写清楚在提交面板写好描述
不要直接push到主分支确认当前在功能分支上再推送
定期同步主分支切换到功能分支 → 右键master→ "合并到当前分支"
推送前检查改动查看"文件状态"区域确认没有意外改动

8.3 防止常见错误

错误后果SourceTree预防方式
在master上直接开发污染主分支左侧当前分支高亮显示,一目了然
忘记切分支就改代码代码混入错误分支顶部始终显示当前分支名
提交了不该提交的文件泄露密钥/大文件提交前检查"文件状态"区域
force push覆盖他人代码SourceTree默认不提供force push快捷入口

九、SourceTree实用技巧与效率提升

9.1 快捷键速查

快捷键(Win)功能
Ctrl+1切换到文件状态视图
Ctrl+2切换到提交历史视图
Ctrl+3切换到搜索视图
Ctrl+Shift+P推送
Ctrl+Shift+L拉取
Ctrl+Shift+F抓取
Ctrl+Shift+C提交
Ctrl+F搜索提交
Ctrl+D放弃文件修改
F5刷新

9.2 自定义操作(Custom Actions)

SourceTree支持添加自定义Git命令:

工具 → 选项 → 自定义操作 → 添加

实用自定义操作示例

名称命令用途
查看所有分支(含远程)git branch -a快速查看所有分支
查看提交统计git shortlog -sn查看团队成员提交量
清理已合并分支git branch --merged | grep -v "master|develop" | xargs git branch -d清理本地已合并分支
查看大文件git rev-list --objects --all | git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' | awk '/^blob/ {print $4, $3}' | sort -rn -k2 | head -10找出仓库中的大文件

9.3 终端集成

SourceTree内置终端按钮(右上角"终端"),点击即可打开当前仓库路径的命令行。

适合用终端的场景

场景命令
批量操作git branch -D $(git branch --merged)
复杂查询git log --author="你的名字" --since="2024-01-01"
二分查找git bisect start / good / bad
查看配置git config --list

9.4 多仓库管理

SourceTree支持在一个窗口中管理多个仓库:

  • 左侧"工作区"面板显示所有已添加的仓库
  • 点击仓库名称即可切换
  • 支持将仓库分组管理(如"工作项目"/"个人项目")

创建标签页

文件 → 新建标签页→ 克隆或添加另一个仓库 → 两个仓库以标签页形式并列。

9.5 书签功能

给重要的提交、分支、标签添加书签:

  • 在提交节点上右键 → "添加书签"
  • 书签会出现在左侧"书签"列表中
  • 用于标记关键版本、里程碑、待审查的提交等

十、常见问题排坑

10.1 安装与登录

问题解决方案
安装时卡在注册页面断开网络再安装(离线模式),或使用旧版免注册版本
提示"未找到Git"工具 → 选项 → Git→ 手动指定Git安装路径
SSH连接失败工具 → 选项 → 一般→ SSH客户端改为OpenSSH
登录过期重新登录Atlassian账号,或使用Bitbucket App密码

10.2 操作问题

问题原因解决方案
推送被拒绝远程有更新,本地落后先拉取再推送
提交记录中出现merge commit拉取时自动合并使用"变基代替合并":工具 → 选项 → Git → 使用变基代替合并
看不到远程分支没有抓取点击"抓取"按钮
文件状态不更新缓存问题F5刷新,或视图 → 刷新
中文文件名乱码编码问题git config --global core.quotepath false

10.3 性能问题

问题解决方案
SourceTree卡顿工具 → 选项 → 一般 → 检查默认软件的更新频率→ 改为"从不"
大仓库加载慢减少显示的提交历史数量:视图 → 限制图表中的提交数量
内存占用高关闭不用的仓库标签页

10.4 最佳实践DO/DON'T

✅ DO❌ DON'T
每次开始工作前先抓取+拉取长时间不拉取,积累大量差异
提交信息写清楚改了啥、为什么改写"fix"、"update"、"修改"
一个功能一个分支在master上直接开发
推送前检查文件状态无脑git add .全部提交
遇到冲突打开可视化工具逐行解决直接选"使用我的版本"覆盖他人代码
已推送的提交用revert撤销对已推送的提交使用reset --hard
定期清理已合并的分支分支列表越来越长不管

十一、总结

11.1 SourceTree核心能力速查表

能力操作位置一句话
查看状态文件状态区域一眼看出改了哪些文件
提交代码勾选文件+填写信息+点击提交像填表单一样提交
查看历史提交图谱彩色线条展示分支演变
创建分支工具栏"分支"按钮点一下创建新分支
切换分支双击分支名双击秒切
合并分支右键目标分支→合并点选式合并
解决冲突右键冲突文件→外部工具三栏可视化对比
回滚版本右键提交→重置选择模式一键回退
遴选提交右键提交→遴选精准搬运单个提交
贮藏现场工具栏"贮藏"临时保存不提交
打标签右键提交→标签给版本做标记
比较差异选中两个提交→比较看两个版本之间差了什么

11.2 学习路线建议

第一阶段:日常操作(1天) └─ 克隆仓库 → 查看状态 → 提交 → 推送 → 拉取 第二阶段:分支管理(1天) └─ 创建/切换/合并分支 → 解决简单冲突 第三阶段:进阶操作(2天) └─ 贮藏 → 遴选 → 重置 → 逆转提交 → 交互式变基 第四阶段:团队协作(持续) └─ Git Flow → 代码审查 → 多仓库管理 → 最佳实践落地

11.3 与系列文章的配合

已有文章SourceTree的关联
Git版本控制实战SourceTree是Git命令行的可视化替代,两者互补
Bug报告与缺陷管理用SourceTree追踪Bug修复提交,精确关联
接口自动化测试用SourceTree管理测试脚本仓库
测试策略与计划用SourceTree管理测试环境分支和版本
CI/CD集成SourceTree的分支操作配合CI/CD流水线

11.4 记忆口诀

分支双击秒切换,文件勾选就提交。冲突三栏可视化,贮藏遴选不慌张。图谱一看知全貌,右键菜单功能全。Git Flow一键启,团队协作更高效。


📝下一步建议:打开SourceTree,克隆一个练习仓库,按照本文的十一章节逐项实操一遍。Git可视化不是"偷懒",而是让你把注意力从记忆命令转移到理解代码变更本身。