杰瑞科技汇

SmartGit如何快速上手?

SmartGit 图形化 Git 教程

前言:为什么选择 SmartGit?

想象一下,Git 就像一个功能极其强大的瑞士军刀,但使用它的命令行(git commit, git push 等)就像用螺丝刀去拧螺丝,虽然精准,但有时略显笨拙且容易出错。

SmartGit如何快速上手?-图1
(图片来源网络,侵删)

SmartGit 就像给这把瑞士军刀装上了舒适的握柄和清晰的指示灯。 它将复杂的 Git 操作通过图形界面呈现,让你能直观地看到仓库的状态、分支的演变和冲突的所在,从而更安全、更高效地使用 Git。


第一部分:准备工作

安装 SmartGit

  • 官网下载:访问 SmartGit 官方网站,根据你的操作系统(Windows, macOS, Linux)下载对应的安装包。
  • 安装:按照安装向导完成安装,Windows 和 macOS 的安装过程非常简单,一路“下一步”即可。
  • 重要提示:SmartGit 自带一个轻量级的 Git 实现,你无需在系统上单独安装 Git,这极大地简化了环境配置,如果你已经安装了 Git,SmartGit 也能很好地集成它。

首次运行与配置

首次启动 SmartGit,它会引导你进行一些基本设置:

  1. 选择 Git 可执行文件:如果你系统里有 Git,可以在这里指定路径,如果没有,直接使用 SmartGit 自带的即可。
  2. 配置用户信息:这是必须的!因为每次 commit 都会记录你的名字和邮箱,在菜单栏选择 Tools -> Options -> Git -> Global,填入你的 NameEmail

第二部分:核心概念与界面概览

在开始操作前,我们先熟悉一下 SmartGit 的主界面,它主要由以下几个部分组成:

  1. 菜单栏:包含所有操作命令,如 Repository(仓库)、Branch(分支)等。
  2. 工具栏:常用功能的快捷按钮,如 Commit(提交)、Push(推送)、Pull(拉取)。
  3. 状态栏:显示当前分支、远程仓库连接状态等信息。
  4. 视图区:这是核心区域,默认显示 “未提交的更改” (Uncommitted Changes),这里会列出你所有修改过的文件。
  5. 日志视图:通常在下方,显示提交历史,你可以切换到不同的视图,如“分支/标签”视图。

第三部分:日常操作流程

我们将通过一个完整的“开发-提交-推送”流程来学习 SmartGit。

SmartGit如何快速上手?-图2
(图片来源网络,侵删)

场景:你接到一个新任务,需要修改代码并提交到远程仓库。

步骤 1:克隆仓库

如果你还没有本地仓库,需要从远程(如 GitHub, GitLab)克隆一个。

  • 操作File -> Clone...
  • 输入:粘贴远程仓库的 URL,选择本地存储路径,然后点击 Clone
  • 结果:SmartGit 会下载所有代码,并自动切换到 mainmaster 分支。

步骤 2:创建并切换到新分支

最佳实践:永远不要在主分支上直接开发!每次新任务都应创建一个新分支。

  • 操作
    1. 在左下角的 “分支/标签” (Branches/Tags) 视图中,右键点击当前分支(如 main)。
    2. 选择 Checkout... -> New branch...
    3. 输入新分支名称,feature/user-login,然后点击 OK
  • 结果:SmartGit 会自动切换到这个新分支,你的所有操作都只对这个分支有效。

步骤 3:修改代码

  1. 用你喜欢的编辑器(如 VS Code, IntelliJ IDEA)打开项目文件夹,修改任意一个文件。
  2. 保存文件后,回到 SmartGit。

阶段 4:暂存与提交

这是最核心的操作。“暂存” (Stage) 的意思是“选择我想要提交哪些修改”

  1. 查看更改:回到主界面的 “未提交的更改” 视图,你会看到被修改的文件。
  2. 暂存文件
    • 方式一(推荐):在文件名前的复选框 打勾,这表示你只暂存这个文件的修改。
    • 方式二:点击文件名,在下方的 “差异” (Diff) 视图中,你会看到具体的代码改动,你可以精确地选择每一行(点击行号左侧的 或 )是否要暂存,实现“部分暂存”。
  3. 输入提交信息:在底部的 “提交” (Commit) 输入框中,写一个清晰、简洁的提交信息,feat: add user login button
  4. 提交:点击工具栏的 “提交” (Commit) 按钮(或按 Ctrl+K)。

类比:这就像你写完报告后,把需要打印的几页纸从草稿堆里挑出来(暂存),然后放到打印机里(提交)。

SmartGit如何快速上手?-图3
(图片来源网络,侵删)

步骤 5:推送分支到远程

你的提交现在只存在于你的本地分支上,需要推送到远程仓库,让你的同事(或 CI/CD)能看到。

  • 操作
    1. 确保你在 “未提交的更改” 视图中,并且没有任何未提交的更改(如果有,先提交)。
    2. 点击工具栏的 “推送” (Push) 按钮。
    3. 在弹出的窗口中,选择要推送的分支(通常是当前分支),然后点击 Push
  • 结果:你的新分支 feature/user-login 现在出现在远程仓库上了。

第四部分:高级功能与协作

同步更新 (Pull)

在你开始工作前,最好先同步一下远程仓库的最新代码,避免冲突。

  • 操作:点击工具栏的 “拉取” (Pull) 按钮。
  • 作用:它会从远程仓库获取最新的代码,并尝试自动合并到你的当前分支,如果合并顺利,一切完美,如果有冲突,SmartGit 会提示你。

处理合并冲突

当你的本地修改和远程修改了同一个文件的同一部分时,就会发生冲突,SmartGit 会帮你清晰地展示冲突。

  • 冲突发生时:在 “未提交的更改” 视图中,冲突的文件会标有红色感叹号。
  • 解决冲突
    1. 双击冲突文件,SmartGit 会打开一个专门的冲突解决窗口。
    2. 窗口会分为三部分:
      • 当前更改:你的修改。
      • 传入的更改:远程的修改。
      • 合并结果:你需要手动编辑这个区域,决定保留谁的代码,或者如何融合。
    3. 解决完所有冲突后,保存文件。
    4. 回到 SmartGit 主界面,你会看到冲突的文件状态变为“已解决”,你需要像普通提交一样,暂存 这个文件,提交 一个“合并提交”。
  • 结果:冲突解决,你的分支与远程分支成功合并。

创建 Pull Request (PR / MR)

这是现代协作开发的灵魂,SmartGit 可以直接帮你创建 PR。

  • 前提:你已经将你的分支(如 feature/user-login)推送到了远程。
  • 操作
    1. 切换到 “分支/标签” 视图。
    2. 右键点击你的本地分支(如 feature/user-login)。
    3. 选择 Create Pull Request...
    4. SmartGit 会自动打开你的浏览器,并跳转到 GitHub/GitLab 等平台的 PR 创建页面,目标分支、源分支都已填好,你只需填写标题和描述即可。

查看历史与回滚

  • 查看历史:在 “日志” (Log) 视图中,你可以看到所有提交的详细信息,双击某次提交,可以查看那次提交的完整代码差异。
  • 回滚:如果某次提交引入了 bug,你需要回滚。
    1. 在日志中找到那次“有问题的提交”。
    2. 右键点击它,选择 Reset ...
    3. 重要! 选择 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 最佳实践

  1. 勤提交:完成一个小功能或修复一个 bug 后,就立即提交,这能让你在出错时更容易回滚。
  2. 写好提交信息:清晰的信息(如 feat:, fix:, docs:)能让团队协作更顺畅。
  3. 善用差异视图:在提交前,务必查看 Diff,确保你提交的是你想要的代码。
  4. 先 Pull 再 Push:养成 Pull -> 解决冲突 -> Push 的习惯,避免不必要的推送失败。
  5. 主分支保持干净:永远不要在 mainmaster 分支上直接开发,所有新功能都在特性分支上完成。
分享:
扫描分享到社交APP
上一篇
下一篇