SmartGit 图形化 Git 教程
前言:为什么选择 SmartGit?
想象一下,Git 就像一个功能极其强大的瑞士军刀,但使用它的命令行(git commit, git push 等)就像用螺丝刀去拧螺丝,虽然精准,但有时略显笨拙且容易出错。

SmartGit 就像给这把瑞士军刀装上了舒适的握柄和清晰的指示灯。 它将复杂的 Git 操作通过图形界面呈现,让你能直观地看到仓库的状态、分支的演变和冲突的所在,从而更安全、更高效地使用 Git。
第一部分:准备工作
安装 SmartGit
- 官网下载:访问 SmartGit 官方网站,根据你的操作系统(Windows, macOS, Linux)下载对应的安装包。
- 安装:按照安装向导完成安装,Windows 和 macOS 的安装过程非常简单,一路“下一步”即可。
- 重要提示:SmartGit 自带一个轻量级的 Git 实现,你无需在系统上单独安装 Git,这极大地简化了环境配置,如果你已经安装了 Git,SmartGit 也能很好地集成它。
首次运行与配置
首次启动 SmartGit,它会引导你进行一些基本设置:
- 选择 Git 可执行文件:如果你系统里有 Git,可以在这里指定路径,如果没有,直接使用 SmartGit 自带的即可。
- 配置用户信息:这是必须的!因为每次
commit都会记录你的名字和邮箱,在菜单栏选择Tools->Options->Git->Global,填入你的Name和Email。
第二部分:核心概念与界面概览
在开始操作前,我们先熟悉一下 SmartGit 的主界面,它主要由以下几个部分组成:
- 菜单栏:包含所有操作命令,如
Repository(仓库)、Branch(分支)等。 - 工具栏:常用功能的快捷按钮,如
Commit(提交)、Push(推送)、Pull(拉取)。 - 状态栏:显示当前分支、远程仓库连接状态等信息。
- 视图区:这是核心区域,默认显示 “未提交的更改” (Uncommitted Changes),这里会列出你所有修改过的文件。
- 日志视图:通常在下方,显示提交历史,你可以切换到不同的视图,如“分支/标签”视图。
第三部分:日常操作流程
我们将通过一个完整的“开发-提交-推送”流程来学习 SmartGit。

场景:你接到一个新任务,需要修改代码并提交到远程仓库。
步骤 1:克隆仓库
如果你还没有本地仓库,需要从远程(如 GitHub, GitLab)克隆一个。
- 操作:
File->Clone... - 输入:粘贴远程仓库的 URL,选择本地存储路径,然后点击
Clone。 - 结果:SmartGit 会下载所有代码,并自动切换到
main或master分支。
步骤 2:创建并切换到新分支
最佳实践:永远不要在主分支上直接开发!每次新任务都应创建一个新分支。
- 操作:
- 在左下角的 “分支/标签” (Branches/Tags) 视图中,右键点击当前分支(如
main)。 - 选择
Checkout...->New branch...。 - 输入新分支名称,
feature/user-login,然后点击OK。
- 在左下角的 “分支/标签” (Branches/Tags) 视图中,右键点击当前分支(如
- 结果:SmartGit 会自动切换到这个新分支,你的所有操作都只对这个分支有效。
步骤 3:修改代码
- 用你喜欢的编辑器(如 VS Code, IntelliJ IDEA)打开项目文件夹,修改任意一个文件。
- 保存文件后,回到 SmartGit。
阶段 4:暂存与提交
这是最核心的操作。“暂存” (Stage) 的意思是“选择我想要提交哪些修改”。
- 查看更改:回到主界面的 “未提交的更改” 视图,你会看到被修改的文件。
- 暂存文件:
- 方式一(推荐):在文件名前的复选框 打勾,这表示你只暂存这个文件的修改。
- 方式二:点击文件名,在下方的 “差异” (Diff) 视图中,你会看到具体的代码改动,你可以精确地选择每一行(点击行号左侧的 或 )是否要暂存,实现“部分暂存”。
- 输入提交信息:在底部的 “提交” (Commit) 输入框中,写一个清晰、简洁的提交信息,
feat: add user login button。 - 提交:点击工具栏的 “提交” (Commit) 按钮(或按
Ctrl+K)。
类比:这就像你写完报告后,把需要打印的几页纸从草稿堆里挑出来(暂存),然后放到打印机里(提交)。

步骤 5:推送分支到远程
你的提交现在只存在于你的本地分支上,需要推送到远程仓库,让你的同事(或 CI/CD)能看到。
- 操作:
- 确保你在 “未提交的更改” 视图中,并且没有任何未提交的更改(如果有,先提交)。
- 点击工具栏的 “推送” (Push) 按钮。
- 在弹出的窗口中,选择要推送的分支(通常是当前分支),然后点击
Push。
- 结果:你的新分支
feature/user-login现在出现在远程仓库上了。
第四部分:高级功能与协作
同步更新 (Pull)
在你开始工作前,最好先同步一下远程仓库的最新代码,避免冲突。
- 操作:点击工具栏的 “拉取” (Pull) 按钮。
- 作用:它会从远程仓库获取最新的代码,并尝试自动合并到你的当前分支,如果合并顺利,一切完美,如果有冲突,SmartGit 会提示你。
处理合并冲突
当你的本地修改和远程修改了同一个文件的同一部分时,就会发生冲突,SmartGit 会帮你清晰地展示冲突。
- 冲突发生时:在 “未提交的更改” 视图中,冲突的文件会标有红色感叹号。
- 解决冲突:
- 双击冲突文件,SmartGit 会打开一个专门的冲突解决窗口。
- 窗口会分为三部分:
- 当前更改:你的修改。
- 传入的更改:远程的修改。
- 合并结果:你需要手动编辑这个区域,决定保留谁的代码,或者如何融合。
- 解决完所有冲突后,保存文件。
- 回到 SmartGit 主界面,你会看到冲突的文件状态变为“已解决”,你需要像普通提交一样,暂存 这个文件,提交 一个“合并提交”。
- 结果:冲突解决,你的分支与远程分支成功合并。
创建 Pull Request (PR / MR)
这是现代协作开发的灵魂,SmartGit 可以直接帮你创建 PR。
- 前提:你已经将你的分支(如
feature/user-login)推送到了远程。 - 操作:
- 切换到 “分支/标签” 视图。
- 右键点击你的本地分支(如
feature/user-login)。 - 选择
Create Pull Request...。 - SmartGit 会自动打开你的浏览器,并跳转到 GitHub/GitLab 等平台的 PR 创建页面,目标分支、源分支都已填好,你只需填写标题和描述即可。
查看历史与回滚
- 查看历史:在 “日志” (Log) 视图中,你可以看到所有提交的详细信息,双击某次提交,可以查看那次提交的完整代码差异。
- 回滚:如果某次提交引入了 bug,你需要回滚。
- 在日志中找到那次“有问题的提交”。
- 右键点击它,选择
Reset ...。 - 重要! 选择
Soft:仅将 HEAD 指针移到提交之前,你的代码修改还在,可以重新提交。Mixed:除了移动 HEAD,还会将修改放回“未提交的更改”区。Hard:危险操作!会直接丢弃那次提交的所有代码修改,请谨慎使用。
第五部分:总结与最佳实践
| 功能 | SmartGit 操作 | Git 命令类比 |
|---|---|---|
| 克隆仓库 | File -> Clone... |
git clone <url> |
| 创建分支 | 右键分支 -> New branch... |
git checkout -b <branch-name> |
| 切换分支 | 右键分支 -> Checkout... |
git checkout <branch-name> |
| 暂存文件 | 在文件名前打勾 | git add <file> |
| 提交 | Commit 按钮 |
git commit -m "message" |
| 推送 | Push 按钮 |
git push origin <branch-name> |
| 拉取 | Pull 按钮 |
git pull origin <branch-name> |
| 解决冲突 | 手动解决冲突文件后暂存 | git add <conflicted-file> |
| 创建 PR | 右键分支 -> Create Pull Request... |
git push 后在网页操作 |
SmartGit 最佳实践
- 勤提交:完成一个小功能或修复一个 bug 后,就立即提交,这能让你在出错时更容易回滚。
- 写好提交信息:清晰的信息(如
feat:,fix:,docs:)能让团队协作更顺畅。 - 善用差异视图:在提交前,务必查看 Diff,确保你提交的是你想要的代码。
- 先 Pull 再 Push:养成
Pull->解决冲突->Push的习惯,避免不必要的推送失败。 - 主分支保持干净:永远不要在
main或master分支上直接开发,所有新功能都在特性分支上完成。
