Skip to content

17 · Git 工作流

📚 系列导航:上一篇 16 并行任务与环境变量 讲了并行跑任务和底层环境变量。这一篇回到日常——让 Claude 当你 git 操作的副手,同时搞清楚检查点这个安全网怎么用。


01 先划线:两类操作

操作类型典型命令交给 Claude?
只读查看git statusgit diffgit log✅ 放心,可设自动放行
本地修改git addgit commit、建分支、解冲突✅ 它干完你过目
推到远端git push⚠️ 你来按,或它问你
改写历史/强推git push --force❌ 红线,自己来

WARNING

在 CLAUDE.md 里写「不要 push」不算数——那是软提示。要真正焊死,得写进 settings.jsondeny


02 看 diff:零风险,最该先交出去

text
看一下我现在暂存区的改动,用中文总结这次主要改了哪几件事,有没有看着不对劲的地方

实测最值的问法:

  • 「这次改动有没有夹带不该提交的东西?」——揪调试用的 console.log、误删的代码
  • 「这个 PR 的 diff 帮我总结一下,作者主要想干嘛、有没有风险点」——review 别人代码先用
  • 「这两个版本的这个函数,行为上有什么区别?」——重构后确认行为没变

03 写 commit message

text
帮我把暂存区的改动提交了,commit message 用中文,参照项目里以前的提交风格

TIP

把规范写进 CLAUDE.md,它每次自动遵守:

markdown
## Git 提交规范
- commit message 用中文,前缀用 feat: / fix: / docs: / refactor:
- 一句话说清「改了什么」

04 开 PR

先装 gh CLI(GitHub 官方命令行工具),否则未认证 API 请求会被限流:

bash
# macOS
brew install gh
gh auth login

开 PR 一句话:

text
帮我的改动开一个 PR,标题和描述用中文,说清这次解决了什么问题

gh pr create 开的 PR 会自动绑定当前会话,后续用 claude --from-pr <编号> 跳回。


05 解冲突

text
git merge 时这几个文件冲突了,帮我逐个分析两边的改动分别想干嘛,给出合并方案,
但先别直接改,讲给我听

TIP

解完冲突务必跑测试——冲突合并最容易出「语法没错但逻辑合错了」的暗坑。


06 检查点:随时能倒带的安全网

检查点是 Claude 每次编辑前自动拍的代码快照。你每发一条提示就多一个存档点。

倒带入口: /rewind空输入框双击 Esc

回退菜单选项:

选项效果
恢复代码和对话代码和对话一起退回那个点
恢复对话只退对话,代码保持现状
恢复代码只退代码改动,对话保留
从此处总结把这条及之后的对话压缩成摘要
到此处总结把这条之前的对话压缩成摘要

边界:

  • ✅ 能回:编辑工具改的文件内容、对话历史
  • ❌ 回不来:bash 命令(rm/mv/cp)改的文件、外部改动、发出去的副作用

WARNING

检查点只管编辑工具改的文件,bash 命令改的救不回。让 Claude 干高风险操作前,先 git commit


07 焊死红线:权限配置

json
{
  "permissions": {
    "allow": ["Bash(git status)", "Bash(git diff *)", "Bash(git log *)"],
    "ask": ["Bash(git commit *)"],
    "deny": ["Bash(git push *)"]
  }
}

08 动手:从 diff 到 commit 走一遍

bash
mkdir git-demo && cd git-demo && git init
echo 'def add(a,b): return a+b' > calc.py
git add calc.py && git commit -m "init"
echo 'print(add(1,2))' >> calc.py
claude
text
看一下我现在的改动,总结一下,然后帮我提交,message 用中文

预期:Claude 看 diff → 总结「新增了一行调用」→ 写 commit message → 等你确认后提交。


09 小结

操作交给 Claude?关键点
看 diff✅ 放心零风险,让它划重点
写 commit✅ 放心照项目风格写,你过目
开 PR✅ 先装 gh自动绑定会话
解冲突✅ 先讲再改合完跑测试
检查点✅ 自动/rewind 倒带
push❌ 自己来deny 焊死

NOTE

下一篇18 入门实战:30 分钟单会话:把前面学的东西串起来,30 分钟从零跑通一个最小项目。

Claude Code 实战手册