Appearance
17 · Git 工作流
📚 系列导航:上一篇 16 并行任务与环境变量 讲了并行跑任务和底层环境变量。这一篇回到日常——让 Claude 当你 git 操作的副手,同时搞清楚检查点这个安全网怎么用。
01 先划线:两类操作
| 操作类型 | 典型命令 | 交给 Claude? |
|---|---|---|
| 只读查看 | git status、git diff、git log | ✅ 放心,可设自动放行 |
| 本地修改 | git add、git commit、建分支、解冲突 | ✅ 它干完你过目 |
| 推到远端 | git push | ⚠️ 你来按,或它问你 |
| 改写历史/强推 | git push --force | ❌ 红线,自己来 |
WARNING
在 CLAUDE.md 里写「不要 push」不算数——那是软提示。要真正焊死,得写进 settings.json 的 deny。
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
claudetext
看一下我现在的改动,总结一下,然后帮我提交,message 用中文预期:Claude 看 diff → 总结「新增了一行调用」→ 写 commit message → 等你确认后提交。
09 小结
| 操作 | 交给 Claude? | 关键点 |
|---|---|---|
| 看 diff | ✅ 放心 | 零风险,让它划重点 |
| 写 commit | ✅ 放心 | 照项目风格写,你过目 |
| 开 PR | ✅ 先装 gh | 自动绑定会话 |
| 解冲突 | ✅ 先讲再改 | 合完跑测试 |
| 检查点 | ✅ 自动 | /rewind 倒带 |
| push | ❌ 自己来 | deny 焊死 |
NOTE
下一篇:18 入门实战:30 分钟单会话:把前面学的东西串起来,30 分钟从零跑通一个最小项目。