跳到主要内容

Git 集成

概述

Claude Code 与 Git 的深度集成让你能够通过自然语言执行版本控制操作,自动化 Git 工作流,并生成有意义的提交信息。

基础 Git 操作

1. 查看状态

# Claude 会自动分析
git status

# 自然语言询问
当前有哪些文件被修改了?
有哪些未跟踪的文件?

2. 查看差异

# 查看具体文件的改动
git diff src/components/Header.js

# 自然语言
告诉我这个文件做了哪些改动
比较两个版本的差异

3. 暂存和提交

# 暂存所有改动
git add .

# 提交
git commit -m "描述改动"

# 自然语言
帮我提交这些改动,生成合适的提交信息

智能提交信息生成

1. 自动生成

让 Claude 分析改动并生成提交信息:

分析当前的改动,生成符合 conventional commits 格式的提交信息

2. 格式化提交信息

# Conventional Commits 格式
feat: 添加用户登录功能
- 实现登录表单验证
- 添加记住密码选项
- 集成第三方认证

fix: 修复购物车计算错误
- 处理折扣码叠加问题
- 修复小数点精度问题

docs: 更新 API 文档
- 添加新接口说明
- 修正示例代码

3. 提交信息模板

请使用以下模板生成提交信息:
类型(范围): 简短描述

详细说明:
- 改动点1
- 改动点2

关闭的issue: #123

分支管理

1. 创建分支

# Git 命令
git checkout -b feature/user-auth

# 自然语言
创建一个新功能分支叫 feature/payment-gateway
基于 develop 分支创建修复分支

2. 切换分支

git checkout develop
git switch main

# 自然语言
切换到主分支
列出所有本地分支

3. 合并分支

git merge feature/new-feature
git rebase main

# 自然语言
将当前分支合并到 develop
将功能分支变基到最新主分支

高级 Git 工作流

1. 交互式 rebase

# 暂存最后3个提交
git rebase -i HEAD~3

# 让 Claude 帮助
帮我整理最近的提交历史
将多个相关的提交合并成一个

2. 撤销操作

# 撤销最后提交(保留改动)
git reset --soft HEAD~1

# 完全撤销
git reset --hard HEAD~1

# 自然语言
撤销最后一次提交但保留文件改动
完全回退到某个提交

3. 暂存当前工作

git stash
git stash pop

# 自然语言
暂存当前的改动
恢复之前暂存的工作

GitHub 集成

1. Pull Request 管理

# 创建 PR
gh pr create --title "标题" --body "描述"

# 让 Claude 帮助
帮我创建一个 Pull Request
生成 PR 描述模板

2. 代码审查

# 审查 PR
gh pr view 123
gh pr review 123

# 自然语言
审查这个 Pull Request
生成审查评论

3. Issue 处理

# 查看 Issues
gh issue list

# 自然语言
列出所有开放的 issues
帮我分析和分类 issues

Git 配置最佳实践

1. 全局配置

git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
git config --global init.defaultBranch main
git config --global pull.rebase false

2. 项目配置

# .gitignore
node_modules/
.env
dist/
*.log

# Claude 可以生成
根据项目技术栈生成 .gitignore 文件

3. Hooks 配置

# 提交前运行测试
echo "npm test" > .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit

工作流自动化

1. 功能开发流程

1. 创建功能分支
2. 开发并提交
3. 推送到远程
4. 创建 Pull Request
5. 代码审查
6. 合并到主分支

2. 热修复流程

1. 从主分支创建修复分支
2. 修复问题
3. 测试验证
4. 合并回主分支
5. 打标签发布

3. 发布流程

1. 更新版本号
2. 更新 CHANGELOG
3. 创建发布分支
4. 打标签
5. 部署到生产环境

实用技巧

1. 查找特定提交

# 按提交信息查找
git log --grep="修复登录"

# 按作者查找
git log --author="张三"

# 按文件查找
git log -- src/components/Login.js

2. 二分查找问题

git bisect start
git bisect bad HEAD
git bisect good v1.0.0
# Claude 会帮你测试每个版本

3. Cherry-pick

git cherry-pick commit-hash

# 自然语言
从另一个分支复制特定提交
将修复应用到当前分支

常见场景

场景1:日常开发

开始新功能开发:
1. git pull origin main
2. git checkout -b feature/new-feature
3. 开发代码...
4. git add .
5. git commit -m "feat: 添加新功能"
6. git push origin feature/new-feature

场景2:修复紧急 Bug

快速修复流程:
1. git checkout main
2. git pull
3. git checkout -b hotfix/bug-fix
4. 修复代码...
5. git add .
6. git commit -m "fix: 修复紧急bug"
7. git checkout main
8. git merge hotfix/bug-fix
9. git tag v1.0.1
10. git push origin main --tags

场景3:同步远程更改

保持分支最新:
1. git checkout feature-branch
2. git fetch origin
3. git rebase origin/main
4. 解决冲突...
5. git push origin feature-branch --force-with-lease

最佳实践

1. 提交规范

  • 使用清晰的提交信息
  • 一个提交只做一件事
  • 频繁提交,小步快跑
  • 提交前检查代码

2. 分支策略

  • main 分支保持稳定
  • develop 分支用于集成
  • feature 分支用于新功能
  • hotfix 分支用于紧急修复

3. 代码审查

  • 所有更改都需要 PR
  • 自动化测试必须通过
  • 至少一人审查
  • 讨论后及时更新

相关资源