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