Home
avatar

麒麟剑

Claude Code实战教程(4):Git不再只是命令行——内置Git工作流全攻略

《从零开始的 Claude Code 实战系列教程》第 4 篇 · 公众号「麒麟剑的AI自动化Lab」连载

Git version control concept ▲ 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 workflow diagram ▲ 自然的语言交互,让 Git 操作变得直观易懂


三、基础操作:用自然语言管理 Git

查看当前状态

当前有哪些文件被修改了?
最近 5 次提交是什么?
这个分支和 main 相比,变更了什么?

创建分支

基于当前代码创建一个新分支 feature/user-auth
创建一个 bugfix 分支,修复用户登录失败的问题

Claude 会自动:

  1. 检查当前分支状态
  2. 创建新分支
  3. 切换到新分支
  4. 告诉你分支名和当前位置

提交更改

帮我提交当前的修改,commit message 写:fix: resolve login timeout issue
提交所有更改,用中文写一个清晰的 commit message

Claude 会:

  1. 显示即将提交的文件列表
  2. 展示变更 diff
  3. 等待你确认后执行 git add + git commit

查看提交历史

最近 10 次提交是什么?帮我总结一下主要的变更方向
是谁在什么时候修改了 auth 模块?

四、实战:创建一个功能分支的完整流程

场景:为 Todo API 添加”删除所有已完成任务”功能

Step 1:创建功能分支

帮我基于 main 分支创建一个新分支 feature/clear-completed-todos

Claude 会执行:

git checkout -b feature/clear-completed-todos

Step 2:实现功能

在 TODO API 中添加一个 DELETE /api/todos/completed 端点,
删除所有已完成的任务。返回被删除的数量。

Claude 会:

  1. 读取现有的路由文件
  2. 理解数据结构
  3. 添加新的路由处理器
  4. 显示代码变更供你确认

Step 3:运行测试

运行测试,确保新端点测试通过

如果测试失败,Claude 会自动修复。

Step 4:提交代码

提交这些更改,commit message 写:
feat: add endpoint to clear all completed todos

Closes #42

Step 5:推送到远程

把 feature/clear-completed-todos 分支推送到 origin

五、解决合并冲突

冲突场景

当多人同时修改同一文件时,Git 会产生冲突:

<<<<<<< HEAD
const timeout = 5000;
=======
const timeout = 3000;
>>>>>>> feature/timeout-config

用 Claude 解决冲突

帮我解决 src/config.ts 中的合并冲突

Claude 会:

  1. 读取冲突内容
  2. 理解两个分支的意图
  3. 提出合并方案(通常是取两者的合理部分)
  4. 等你确认后应用

更复杂的冲突

src/api/todos.ts 和 src/api/users.ts 都有冲突,
帮我分析并解决

Claude 会逐个文件分析,给出详细的解决方案。

Conflict resolution ▲ 合并冲突并不可怕,让 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 会:

  1. 检查分支状态
  2. 推送分支(如果还没推送)
  3. 执行 gh pr create 并填入完整描述

用 Claude 审查 PR

帮我审查 PR #45 的变更

Claude 会:

  1. 获取 PR 的 diff
  2. 分析代码质量、安全性和潜在问题
  3. 给出具体的改进建议

八、高级技巧

使用 —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 的全部技能。

Claude Code Git 版本控制 教程 Anthropic