跳到主要内容

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
  • 自动化测试必须通过
  • 至少一人审查
  • 讨论后及时更新

相关资源​