杰瑞科技汇

SourceTree怎么用?新手入门指南?

SourceTree 完整教程:从入门到精通

目录

  1. 什么是 SourceTree?为什么选择它?
  2. 第一步:安装与配置
  3. 第二步:克隆或创建你的第一个仓库
  4. 第三步:核心界面详解
  5. 第四步:日常 Git 操作(图文详解)
    • 1 查看修改
    • 2 提交更改
    • 3 推送到远程仓库
    • 4 从远程仓库拉取
    • 5 切换分支
    • 6 创建新分支
    • 7 合并分支
    • 8 解决冲突
  6. 第五步:高级功能与技巧
    • 1 Stash(储藏)
    • 2 Rebase(变基)
    • 3 标签
    • 4 查看历史记录
  7. 第六步:最佳实践与常见问题

什么是 SourceTree?为什么选择它?

SourceTree 是由 Atlassian 公司(也就是开发 Jira 和 Confluence 的公司)推出的一款 免费、跨平台 的 Git 图形化客户端。

SourceTree怎么用?新手入门指南?-图1
(图片来源网络,侵删)

主要优势:

  • 可视化操作:将复杂的 Git 命令(如 commit, push, merge, rebase)转化为直观的点击和拖拽操作,极大降低了学习门槛。
  • 功能强大:不仅覆盖了所有基础操作,还支持高级功能如 Stash、Rebase、Squash 等。
  • 免费:对于个人使用和小型团队完全免费。
  • 跨平台:支持 Windows 和 macOS。
  • 与 Atlassian 生态集成:可以无缝连接到 Bitbucket 和其他 Git 托管服务。

适合人群:

  • Git 初学者。
  • 喜欢图形化界面,不喜欢记忆命令行的开发者。
  • 需要快速理解项目提交历史的开发者。

第一步:安装与配置

前提条件: 你的电脑上必须已经安装了 Git,SourceTree 本身只是一个客户端,它需要调用你系统里的 Git。

安装步骤:

SourceTree怎么用?新手入门指南?-图2
(图片来源网络,侵删)
  1. 下载:访问 SourceTree 官方网站,下载适合你操作系统的版本。
  2. 安装:按照安装向导一步步进行,Windows 版本可能需要安装 .NET Framework。
  3. 登录账户:首次启动时,你需要登录一个 Atlassian 账号,如果没有,可以免费注册一个,这主要用于身份验证和未来可能的服务集成。
  4. 配置 Git 路径:SourceTree 会自动检测你系统中的 Git 安装路径,如果检测不到,你需要手动指定到 git.exe 所在的文件夹(C:\Program Files\Git\bin)。
  5. 完成:点击 "Start using SourceTree",你就可以看到欢迎界面了。

第二步:克隆或创建你的第一个仓库

打开 SourceTree,你会看到主界面,这里有两个主要操作:

克隆一个已存在的远程仓库

  1. 点击左上角的 "Clone" 按钮。
  2. 在弹出的窗口中,粘贴你的远程仓库地址(支持 HTTPS 和 SSH)。
  3. 选择一个本地路径来存放仓库。
  4. 点击 "Clone",SourceTree 就会帮你把仓库完整地下载到本地。

创建一个新本地仓库

  1. 点击左上角的 "New" 按钮。
  2. 选择 "New Repository"
  3. 选择一个本地路径,并给仓库命名。
  4. 你可以选择 "Initialize this repository with a README" 来创建一个初始的 README.md 文件。
  5. 点击 "Create",一个新的本地仓库就创建好了。

第三步:核心界面详解

克隆或创建仓库后,你会进入 SourceTree 的核心工作区,了解这个界面是高效使用 SourceTree 的关键。

SourceTree怎么用?新手入门指南?-图3
(图片来源网络,侵删)

界面主要分为几个部分:

  1. 顶部工具栏:包含最常用的操作,如 Commit(提交)、Push(推送)、Pull(拉取)、Branch(分支)等。
  2. 文件状态区
    • Unstaged files:已修改但未暂存的文件,你需要将这些文件拖到右侧或点击 号来暂存它们,才能进行提交。
    • Staged files:已暂存的文件,这些文件就是下一次提交将要包含的内容,你可以点击 号来取消暂存。
  3. 提交信息区
    • 在这里输入你的提交信息。
    • 可以选择是创建一个 "Commit"(普通提交)还是一个 "Amend"(修改上一次提交)。
    • "Author" 字段可以修改提交者信息。
  4. 底部视图区:这是 SourceTree 最强大的地方,可以通过底部的标签页切换不同的视图。
    • Log:查看项目的提交历史,以可视化的方式展示分支、合并等。
    • File Status:与顶部的文件状态区类似,但可以展开查看具体修改。
    • Stashes:查看所有储藏的内容。
    • Remotes:管理远程仓库。
    • Branches:管理分支。

第四步:日常 Git 操作(图文详解)

1 查看修改

当你修改了文件后,SourceTree 会自动检测到。

  • Unstaged files 区域,你会看到被修改的文件。
  • 点击文件名,下方的 "Diff" 视图会清晰地展示你 增加了什么(绿色)、删除了什么(红色)

2 提交更改

这是最频繁的操作。

  1. 将你想要提交的文件从 Unstaged files 拖到 Staged files 区域(或点击文件旁边的 号)。
  2. 在下方的 "Commit message" 框中,输入清晰、简洁的提交信息("修复登录按钮样式")。
  3. 点击顶部的 "Commit" 按钮。

一个标准的提交就完成了!你的更改只存在于本地仓库中。

3 推送到远程仓库

将本地的提交分享到远程仓库(如 GitHub, GitLab, Bitbucket)。

  1. 确保你已经提交了本地更改。
  2. 点击顶部工具栏的 "Push" 按钮。
  3. SourceTree 会提示你即将推送的提交信息,确认后点击 "Push"

4 从远程仓库拉取

获取远程仓库的最新更改,以保持你的本地仓库是最新的。

  1. 点击顶部工具栏的 "Pull" 按钮。
  2. SourceTree 会自动将远程的更改合并到你的当前分支。

5 切换分支

  1. 点击顶部工具栏的 "Branch" 按钮。
  2. 在弹出的窗口中,你会看到所有本地和远程分支。
  3. 选择你想要切换到的分支,然后点击 "Checkout"

6 创建新分支

  1. 点击顶部工具栏的 "Branch" 按钮。
  2. 点击 "New..."
  3. 输入新分支的名称。
  4. 选择基于哪个分支创建(通常是当前分支)。
  5. 点击 "Create",新分支会被创建并自动切换到。

7 合并分支

假设你正在 feature/new-login 分支上开发新功能,现在要把它合并到主分支 main

  1. 切换到目标分支main)。
  2. 点击顶部工具栏的 "Merge" 按钮。
  3. 在弹出的窗口中,选择你要合并的源分支(feature/new-login)。
  4. 选择合并方式:
    • Create a merge commit:创建一个合并提交,保留完整的分支历史,这是最安全、最推荐的方式。
    • Squash:将源分支的所有提交压缩成一个提交,然后合并到目标分支,这会使历史记录更简洁,但会丢失分支的提交细节。
  5. 点击 "Merge"

8 解决冲突

当两个分支对同一个文件的同一部分进行了不同的修改,合并时就会发生冲突。

SourceTree 会自动检测到冲突,并在 Unstaged files 区域用特殊的图标标记出来。

解决冲突的步骤:

  1. 双击冲突的文件,SourceTree 会打开冲突解决器。
  2. 解决器会清晰地展示冲突的部分:
    • <<<<<<< HEAD:当前分支(main
    • 分隔符。
    • >>>>>>> feature/new-login:你要合并的分支(feature/new-login
  3. 手动编辑文件,决定保留哪部分内容,或者将两部分内容合并。
  4. 保存文件。
  5. 回到 SourceTree 主界面,你会看到该文件已经不再显示冲突标记。
  6. 像正常提交一样,将解决好的文件 暂存提交,这次提交就是一次合并提交。

第五步:高级功能与技巧

1 Stash(储藏)

当你正在一个分支上工作,但需要临时切换到另一个分支处理紧急任务时,Stash 非常有用,它可以“暂存”你当前的未提交修改。

  1. 在主界面,点击 "Stash" 按钮。
  2. 输入一个描述性的储藏名称,然后点击 "Stash"
  3. 你的工作区是干净的,可以安全地切换分支了。
  4. 处完紧急任务后,切换回原来的分支,点击 "Stash" 按钮,然后选择你之前创建的储藏,点击 "Pop""Apply" 来恢复你的修改。Pop 会删除储藏,Apply 则保留。

2 Rebase(变基)

Rebase 是一种强大的历史记录整理工具,它可以将一系列提交“迁移”到另一个分支的最新提交之后,从而形成一条线性的历史记录。

注意:Rebase 会重写提交历史,不要对已经推送到公共仓库的分支执行 Rebase,只用于你本地的特性分支。

  1. 切换到你想要整理历史的分支(feature)。
  2. 点击顶部工具栏的 "Rebase" 按钮。
  3. 选择你要基于的分支(main)。
  4. SourceTree 会尝试自动合并,如果遇到冲突,解决冲突后,不要提交,而是执行以下 Git 命令(在终端或 SourceTree 的内置终端):
    git add .
    git rebase --continue
  5. 当 Rebase 完成后,你的提交历史看起来就像是直接在 main 分支的最新提交上开发的一样。

3 标签

标签用于给特定的提交打上快照,通常用于标记版本发布(如 v1.0.0)。

  1. Log 视图中,右键点击你想要打标签的提交。
  2. 选择 "Tag"
  3. 输入标签名称(建议使用语义化版本号,如 v1.0.0)。
  4. 你可以选择是否添加标签注释。
  5. 点击 "Create"

4 查看历史记录

Log 视图是 SourceTree 的精华。

  • 可视化分支:它会以图形化的方式展示所有分支、合并点和提交历史。
  • 筛选:你可以通过作者、时间范围、提交信息等筛选提交记录。
  • 操作:右键点击任何提交,可以进行 Cherry-pick(挑选提交)、Reset(重置)、Rebase(变基)等操作。

第六步:最佳实践与常见问题

最佳实践:

  • 写清晰的提交信息:使用现在时态,"Add login button" 而不是 "Added login button"。
  • 小而频繁的提交:不要把所有修改攒到一起再提交,这样会让历史难以追踪。
  • Pull Request (PR) / Merge Request (MR):使用 SourceTree 的 "Create Pull Request" 功能(需要连接到 GitHub/GitLab 等),这是团队协作的核心。
  • 多用分支:为每个新功能或 bug 修复创建独立的分支。
  • 在合并前 Pull:在向公共分支(如 main)合并前,先 Pull 一下远程的最新代码,避免不必要的冲突。

常见问题:

  • Q: 提交时提示 "Author identity unknown"

    • A: 这是因为你的 Git 用户名和邮箱没有配置,在 SourceTree 设置中找到 "Action" -> "Options",然后配置你的默认用户名和邮箱。
  • Q: Push 失败,提示 "non-fast-forward"

    • A: 这意味着远程仓库有你本地没有的最新提交,你需要先 Pull 远程更改,解决可能的冲突,然后再 Push
  • Q: Rebase 失败了怎么办?

    • A: Rebase 失败后,SourceTree 会告诉你哪个提交导致了冲突,解决冲突后,使用 git add .git rebase --continue 继续操作,如果想放弃这次 Rebase,可以使用 git rebase --abort

SourceTree 是一个极其优秀的 Git 客户端,它通过图形化界面将 Git 的强大功能变得平易近人,掌握 SourceTree,不仅能让你告别复杂的命令行,还能让你更直观地理解 Git 的工作流,从而更高效地进行版本控制。

希望这份教程能帮助你顺利开启 SourceTree 的使用之旅!多加练习,很快你就能熟练掌握它。

分享:
扫描分享到社交APP
上一篇
下一篇