Claude Code实战教程(4):Git不再只是命令行——内置Git工作流全攻略
《从零开始的 Claude Code 实战系列教程》第 4 篇 · 公众号「麒麟剑的AI自动化Lab」连载
▲ Git 是开发者的时间机器,而 Claude Code 让操作 Git 变得像说话一样自然
一、为什么需要 Claude Code 来管理 Git?
传统 Git 工作流有一个痛点:命令太难记。
git checkout -b feature/user-auth
git add .
git commit -m "feat: add user authentication"
git push origin feature/user-auth
gh pr create --title "Add user auth" --body "..."每次都要回忆参数顺序,写错一个字母就要重来。
Claude Code 的方式:
帮我基于 main 创建一个用户认证功能分支
提交所有修改,message 写"feat: add user authentication"
推送到远程并创建 PR你看,就像跟同事说话一样简单。
二、Claude Code 与 Git 的关系
工作原理
你说话(自然语言)
↓
Claude 理解意图
↓
Claude 执行对应的 git 命令
↓
显示变更 diff(等你确认)
↓
执行 git 操作
↓
汇报结果支持的操作类型
| 操作 | Claude 能做什么 |
|---|---|
| 查看状态 | git status、未提交的变更 |
| 创建分支 | 按描述创建命名规范的分支 |
| 提交更改 | 生成有意义的 commit message |
| 查看历史 | git log 并解释关键提交 |
| 解决冲突 | 分析冲突内容并提出解决方案 |
| 创建 PR | 通过 GitHub CLI 创建 Pull Request |
| 审查 PR | 分析 PR 的变更并提出改进建议 |
| Stash | 暂存当前修改 |
| 切换分支 | 安全地切换而不丢失更改 |
▲ 自然的语言交互,让 Git 操作变得直观易懂
三、基础操作:用自然语言管理 Git
查看当前状态
当前有哪些文件被修改了?最近 5 次提交是什么?这个分支和 main 相比,变更了什么?创建分支
基于当前代码创建一个新分支 feature/user-auth创建一个 bugfix 分支,修复用户登录失败的问题Claude 会自动:
- 检查当前分支状态
- 创建新分支
- 切换到新分支
- 告诉你分支名和当前位置
提交更改
帮我提交当前的修改,commit message 写:fix: resolve login timeout issue提交所有更改,用中文写一个清晰的 commit messageClaude 会:
- 显示即将提交的文件列表
- 展示变更 diff
- 等待你确认后执行
git add+git commit
查看提交历史
最近 10 次提交是什么?帮我总结一下主要的变更方向是谁在什么时候修改了 auth 模块?四、实战:创建一个功能分支的完整流程
场景:为 Todo API 添加”删除所有已完成任务”功能
Step 1:创建功能分支
帮我基于 main 分支创建一个新分支 feature/clear-completed-todosClaude 会执行:
git checkout -b feature/clear-completed-todosStep 2:实现功能
在 TODO API 中添加一个 DELETE /api/todos/completed 端点,
删除所有已完成的任务。返回被删除的数量。Claude 会:
- 读取现有的路由文件
- 理解数据结构
- 添加新的路由处理器
- 显示代码变更供你确认
Step 3:运行测试
运行测试,确保新端点测试通过如果测试失败,Claude 会自动修复。
Step 4:提交代码
提交这些更改,commit message 写:
feat: add endpoint to clear all completed todos
Closes #42Step 5:推送到远程
把 feature/clear-completed-todos 分支推送到 origin五、解决合并冲突
冲突场景
当多人同时修改同一文件时,Git 会产生冲突:
<<<<<<< HEAD
const timeout = 5000;
=======
const timeout = 3000;
>>>>>>> feature/timeout-config用 Claude 解决冲突
帮我解决 src/config.ts 中的合并冲突Claude 会:
- 读取冲突内容
- 理解两个分支的意图
- 提出合并方案(通常是取两者的合理部分)
- 等你确认后应用
更复杂的冲突
src/api/todos.ts 和 src/api/users.ts 都有冲突,
帮我分析并解决Claude 会逐个文件分析,给出详细的解决方案。
▲ 合并冲突并不可怕,让 AI 帮你分析并解决
六、Git Worktrees:并行开发多分支
什么是 Worktree?
┌─────────────────────────────────────────────────────────────┐
│ Git Worktree │
├─────────────────────────────────────────────────────────────┤
│ │
│ 主工作区 副工作区 1 副工作区 2 │
│ ───────── ─────────── ─────────── │
│ main hotfix feature-x │
│ ├─ src/ ├─ src/ ├─ src/ │
│ ├─ tests/ ├─ tests/ ├─ tests/ │
│ │ │ │
│ 共享 .git 目录,不共享工作文件 各分支独立工作 │
│ │
└─────────────────────────────────────────────────────────────┘Claude Code 中的 Worktree 操作
帮我创建一个 worktree,基于 hotfix/login-bug 分支,
放到 ../todo-api-hotfix 目录Claude 会执行:
git worktree add ../todo-api-hotfix hotfix/login-bug在多个 Worktree 中使用 Claude
# 在主项目
claude
# 在 hotfix worktree
cd ../todo-api-hotfix
claude每个 Claude 会话只看到自己所在 worktree 的代码,互不干扰。
七、集成 GitHub CLI:从 Claude 创建 PR
前置条件
# 安装 GitHub CLI
brew install gh
# 登录
gh auth login用 Claude 创建 PR
基于 feature/clear-completed-todos 分支创建一个 PR 到 main,
标题写 "feat: add clear completed todos endpoint",
描述包含:功能说明、测试覆盖、变更影响Claude 会:
- 检查分支状态
- 推送分支(如果还没推送)
- 执行
gh pr create并填入完整描述
用 Claude 审查 PR
帮我审查 PR #45 的变更Claude 会:
- 获取 PR 的 diff
- 分析代码质量、安全性和潜在问题
- 给出具体的改进建议
八、高级技巧
使用 —fork-session 并行开发
# 主会话:开发新功能
claude
# 另一个终端:并行修复 bug(共享上下文但独立操作)
claude --fork-session用 -p 参数处理一次性 Git 任务
# 查询某个 commit 的详细信息
claude -p "展示最近一次提交的内容和影响范围"
# 分析分支差异
claude -p "feature/auth 和 main 相比改了什么?"在 CI/CD 中自动化 Git 操作
# .github/workflows/code-review.yml
name: AI Code Review
on: [pull_request]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Claude Code Review
run: |
claude -p "请审查当前 PR 的代码质量、安全性和潜在问题" \
--output-format=json > review.json九、本章小结
| 核心能力 | 对应命令/操作 |
|---|---|
| 查看状态 | 当前有哪些文件被修改了? |
| 创建分支 | 基于 main 创建 feature/x |
| 提交代码 | 提交修改,message 写... |
| 解决冲突 | 解决 src/file.ts 中的冲突 |
| 创建 PR | 创建 PR 到 main |
| 审查 PR | 审查 PR #xxx |
| Worktree | 创建 worktree 到 ../xxx |
| Fork 会话 | claude --fork-session |
下期预告(第 5 篇):Slash Command秘籍——从入门到肌肉记忆的18个必会指令
关注本系列,从入门到专家,系统掌握 Claude Code 的全部技能。