一、Git 基础配置与操作流程
1. 安装与初始化
csharp
# 下载地址:https://git-scm.com/
# 安装后检查版本
git --version
# 配置全局身份(必填)
git config --global user.name "YourName"
git config --global user.email "your@email.com"
# 生成 SSH 密钥(用于远程认证)
ssh-keygen -t rsa -C "your@email.com"
2. 核心操作流程图
css
graph TD
A[初始化仓库] --> B[拉取代码]
B --> C[切换分支]
C --> D[修改文件]
D --> E[添加缓存]
E --> F[提交本地]
F --> G[推送远程]
G --> H[合并分支]
3. 常用命令速查
| 操作类型 | 命令 | 说明 |
|---|---|---|
| 初始化 | git init |
创建新仓库 |
| 克隆远程代码 | git clone [仓库地址] |
复制远程仓库到本地 |
| 分支操作 | git checkout [分支名] |
切换分支 |
| 状态检查 | git status |
查看工作区状态 |
| 文件管理 | git add . |
添加所有文件到缓存区 |
| 提交更改 | git commit -m "描述" |
提交到本地仓库 |
| 推送远程 | git push origin [分支名] |
上传到远程服务器 |
| 合并分支 | git merge origin/[分支名] |
将指定分支合并到当前分支 |
| 撤销合并 | git merge --abort |
中止未完成的合并操作 |
| 历史追踪 | git reflog |
查看所有操作记录 |
二、Git 工作流实践对比
1. 常见工作流模式
-
集中式工作流
所有开发人员直接向主分支提交代码,适合小型团队快速迭代。
-
功能分支工作流
bash# 创建功能分支 git checkout -b feature/login # 完成开发后合并回主分支 git checkout main git merge feature/login -
GitFlow 工作流
scssmain(生产) ← develop(开发) ↗ release(发布) → hotfix(紧急修复) -
Trunk-Based 开发
强调短周期提交(<1天),持续集成测试,适合 CI/CD 流水线。
2. 与 SVN 的关键差异对比
| 特性 | Git (分布式) | SVN (集中式) |
|---|---|---|
| 架构 | 每个开发者独立完整仓库 | 依赖中央服务器 |
| 提交速度 | 本地提交即时完成 | 需要网络连接 |
| 分支管理 | 轻量级分支(毫秒级创建) | 重型分支(资源消耗大) |
| 合并冲突处理 | 支持非快进式合并 | 必须快进式合并 |
| 数据安全性 | 本地备份+远程备份双重保障 | 单点故障风险高 |
| 适合场景 | 并行开发、开源协作、CI/CD | 传统瀑布式开发、文档版本控制 |
三、主流代码托管平台推荐
| 平台 | 特点 | 主要用户群体 |
|---|---|---|
| GitHub | 社区活跃,支持开源项目,集成 CI/CD | 全球开发者、开源爱好者 |
| GitLab | 企业级解决方案,内置 DevOps 流水线 | 企业团队、私有项目 |
| Gitee | 国内镜像加速,深度集成 AI 协作工具 | 中文开发者、企业团队 |
| Bitbucket | 与 Jira 深度集成,支持私有仓库 | Atlassian 生态用户 |
Gitee AI 协作亮点
- 自动 PR 代码审查
- 智能需求解析(支持自然语言转技术文档)
- AI 代码补全(实时提示优化方案)
- 项目进度预测(基于历史数据的交付时间估算)
四、高级操作与最佳实践
1. 提交历史优化
bash
# 修改最近一次提交
git commit --amend
# 合并连续提交
git rebase -i HEAD~3
# 将 pick 改为 squash 后保存
2. 桃花岛操作(Cherry-pick)
ini
# 复制特定提交到当前分支
git cherry-pick [commit-id]
3. 分支变基(Rebase)
css
# 将 feature 分支变基到 main
git checkout feature
git rebase main
4. 撤销操作
css
# 撤销某次提交(保留更改)
git reset --mixed [commit-id]
# 彻底删除提交
git reset --hard [commit-id]
五、Git 在 AI 项目中的应用
-
模型版本管理
使用 DVC(Data Version Control)配合 Git 管理 ML 模型权重与数据集。
-
AI 代码审查
Gitee AI 自动检测:
- 代码规范(PEP8/ESLint)
- 潜在 Bug 预警
- 性能优化建议
- 安全漏洞扫描
-
智能 PR 生成
输入自然语言需求 → AI 生成代码草案 → 人工验证 → 提交 PR
-
AI 驱动的分支策略
根据项目复杂度自动推荐:
- GitFlow(大型项目)
- Feature Toggle(微服务架构)
- Monorepo(多语言统一管理)
六、常见问题排查
-
合并冲突解决
csharp# 标记冲突文件 git status # 手动编辑冲突文件 # 标记已解决 git add [文件名] # 完成合并 git commit -
密钥丢失恢复
bash# 重新生成密钥 ssh-keygen -t ed25519 -C "your@email.com" # 添加到系统 eval "$(ssh-agent)" ssh-add ~/.ssh/id_ed25519 -
大文件误提交修复
python# 移除文件历史 git filter-branch --tree-filter 'rm -f large_file' HEAD # 强制推送 git push origin --force