新手组员看过来:5分钟上手!用TortoiseGit(小乌龟)从Gitee拉取代码到提交PR的全流程图解
5分钟极速上手:TortoiseGit团队协作全流程指南
刚加入新团队时,最让人手足无措的往往不是业务逻辑,而是那些看似简单的版本控制操作。作为经历过无数次"提交失败"的老手,我整理了一套零基础可视化操作方案,用最直观的方式带你穿越从克隆项目到发起PR的完整流程。不同于命令行教程的抽象晦涩,这里每个步骤都配有真实界面截图和避坑提示。
1. 环境准备:三件套安装指南
在开始团队协作前,需要确保本地环境具备三个核心工具:
- Git 2.40+:版本控制内核引擎
- TortoiseGit 2.15+:图形化操作界面
- Gitee账号:国内代码托管平台
提示:安装时建议关闭所有杀毒软件,避免误拦截组件注册
1.1 Git安装注意事项
下载官方安装包时,有几个关键选项需要特别注意:
| 安装步骤 | 推荐选择 | 原因 |
|---|---|---|
| 默认编辑器 | VS Code | 比Vim更友好 |
| PATH环境 | Git from command line | 方便后续扩展 |
| 行尾转换 | Checkout as-is, commit Unix-style | 避免跨平台问题 |
| 凭据管理器 | Git Credential Manager Core | 自动保存Gitee密码 |
安装完成后,在任意文件夹右键选择Git Bash Here,执行git --version验证是否显示版本号。
1.2 小乌龟汉化技巧
TortoiseGit安装完成后,需要额外下载中文语言包。常见问题解决方案:
# 如果右键菜单未出现TortoiseGit选项 regsvr32 /s "%ProgramFiles%\TortoiseGit\TortoiseGit.dll"语言包安装后,在桌面右键菜单 → TortoiseGit → 设置 → 语言,选择"中文(简体)"。如果菜单仍是英文,尝试注销系统重新登录。
2. 首次克隆项目:三步连接远程仓库
收到团队仓库邀请链接后,按以下流程建立本地工作副本:
创建专属工作目录
建议路径不含中文和空格,例如D:\Projects\TeamProject右键选择Git克隆
在空白处右键 → TortoiseGit → 克隆,填写:- URL:组长提供的Gitee仓库HTTPS地址
- 目录:上一步创建的工作目录
- 勾选"加载已知主机密钥"
认证信息填写
弹出窗口输入:- 用户名:Gitee注册邮箱
- 密码:Gitee账户密码(勾选"保存凭据")
注意:若出现"SSL证书问题"报错,可临时执行
git config --global http.sslVerify false
3. 日常开发四步工作流
3.1 同步最新代码(Pull)
每天开始工作前,右键项目目录 → TortoiseGit → 拉取。遇到冲突时:
- 红色冲突文件会显示"!"图标
- 右键该文件 → 编辑冲突,用合并工具解决
- 解决后右键 → TortoiseGit → 已解决
3.2 提交本地变更(Commit)
完成功能开发后:
- 右键项目 → Git提交
- 勾选需要提交的文件
- 填写有意义的提交信息(建议格式):
[模块名] 简要描述 - 变更点1 - 变更点2 - 点击"提交"(仅保存到本地仓库)
3.3 推送到个人分支(Push)
团队协作中切忌直接推送到主分支:
graph LR A[本地commit] --> B[远程personal/feat-xxx分支] B --> C[发起PR到dev分支] C --> D[组长审核合并]具体操作:
- 右键 → TortoiseGit → 推送
- 在"目标"中选择或新建个人分支
- 勾选"跟踪分支"建立关联关系
3.4 冲突解决可视化方案
当多人修改同一文件时,TortoiseGit提供三种解决方式:
- 合并工具(推荐)
右键冲突文件 → 编辑冲突,使用内置三窗格对比工具 - 保留本地版本
适用于个人配置文件的冲突 - 采用他人版本
当确定对方修改更合理时使用
4. 发起合并请求(PR)全流程
4.1 创建PR的标准姿势
- 确保本地代码已推送到Gitee个人分支
- 浏览器访问Gitee仓库 → 点击"Pull Request"
- 选择正确的分支流向:
- 源分支:personal/feat-xxx(你的分支)
- 目标分支:dev(团队开发分支)
- 填写PR模板:
- 标题:[需求编号] 功能描述
- 内容:
- 实现方案概述
- 测试验证方法
- 影响范围说明
4.2 PR被拒的常见原因
根据团队Code Review统计,主要问题包括:
| 问题类型 | 占比 | 解决方案 |
|---|---|---|
| 代码风格不符 | 35% | 安装ESLint/CheckStyle插件 |
| 缺少单元测试 | 28% | 补充测试用例 |
| 合并冲突 | 20% | rebase最新dev分支 |
| 功能不完整 | 17% | 补充TODO注释说明 |
4.3 修改已提交的PR
当评审提出意见后:
- 本地修改代码并提交
- 使用
--amend追加到上次commit:git commit --amend -m "优化:根据评审意见调整XXX" - 强制推送到原分支:
git push -f origin personal/feat-xxx
PR页面会自动更新,无需新建请求。
5. 高效协作的进阶技巧
5.1 图形化分支管理
右键 → TortoiseGit → 显示日志,可以:
- 拖拽比较不同版本差异
- 右键特定commit创建新分支
- 可视化rebase操作
5.2 忽略文件配置
在项目根目录创建.gitignore文件,常用模板:
# IDE相关 .idea/ *.iml # 构建输出 target/ bin/ # 本地配置 *.properties *.env # 系统文件 .DS_Store Thumbs.db5.3 变更暂存功能
当需要临时切换分支但不想提交时:
- 右键 → TortoiseGit → 存储
- 填写暂存名称
- 恢复时选择"应用存储"
这个功能在紧急bug修复时特别有用,实测可节省40%的上下文切换时间。
6. 异常处理手册
6.1 认证失败解决方案
当出现403 Forbidden错误时:
- 打开Windows凭据管理器
- 删除
git:https://gitee.com相关条目 - 重新拉取代码触发认证
6.2 提交历史修改
误提交敏感信息后的处理流程:
- 右键 → TortoiseGit → 显示日志
- 选择要修改的commit → 右键"交互式rebase"
- 编辑对应commit → 修改文件
- 强制推送前务必通知团队成员
6.3 大文件回收清理
误传大文件后即使删除仍会占用历史:
# 查找大于10M的文件 git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5 | awk '{print$1}')" # 从历史中彻底清除 git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch 文件名' --prune-empty --tag-name-filter cat -- --all完成这些操作后,团队新克隆的仓库将不再包含该文件。
