Claude Code 写 Git 提交、开 PR、解决合并冲突:gh 命令、attribution 设置和回退办法

按官方文档讲 Claude Code 怎么帮你提交代码、用 gh 开 pull request、用 --from-pr 找回会话,再给合并冲突的提示词和回退办法。还写明提交里的 Co-Authored-By 署名由 attribution 设置控制,以及哪些 Git 操作要自己把关。

NNathaniel bigo··原创首发·AI 辅助撰写
10 分钟读完
资料核对于 2026-11-05 · 依据官方文档与公开资料整理 Pro 账号
本文根据 Claude Code 官方文档《Common workflows》《Settings reference》《Best practices for Claude Code》《Checkpointing》《Commands》整理,资料核对于 2026-11-05。配图为本站整理的示意图,不是界面截图。本站(bigolab.com)不是 Anthropic 官方网站。

适用于谁

  • 想让 Claude Code 代写提交信息、开 PR 的人;
  • 不想让提交里出现 Claude 署名,或想自定义署名的人;
  • 遇到合并冲突,想让 Claude Code 帮忙看,但又担心它把代码改乱的人。

结论先说

  1. 直接说就行:官方写的开 PR 方式是直接对 Claude 说 create a pr for my changes,或者分步让它先总结改动、再创建、再润色描述。
  2. gh 装好登录好,Claude 就会用:官方最佳实践提到,装了 gh 并登录后,Claude 会自己开 PR、读评审意见,不用你解释。
  3. 提交里的署名可以改:Claude Code 默认在提交里加 Co-Authored-By 之类的尾注,用 settings.json 里的 attribution 控制;你在 CLAUDE.md 里写的署名规则,官方说优先于这些默认文字(除非在托管设置里强制)。
  4. Git 操作靠 Bash 执行,/rewind 管不到:合并冲突这类操作前,先建分支或确认工作区干净。
  5. 推送这类动作建议设为每次询问:官方示例就把 Bash(git push *) 放在 ask 规则里。

Claude Code 的 Git 工作流

图:本站根据 Claude Code 官方文档:Common workflows 整理的示意图

一、写提交信息

Claude Code 内置了写提交和 PR 的指令,并且会在会话开始时读一份 git 状态快照:当前分支、主分支、git status 输出和最近的提交。官方说明可以用 includeGitInstructions: false 把这两样都关掉,适合你自己有一套 Git 工作流技能的人。大多数人保持默认就行。

提示词 1:按改动写提交

text
请先运行 git status 和 git diff,告诉我这次改动包含哪些文件、各改了什么。
然后按下面的规则提交:
1)如果改动混了多个目的,先建议怎么拆成几次提交,等我确认;
2)提交信息第一行不超过 50 个字,说明做了什么,正文说明为什么这么改;
3)不要提交 .env、日志和构建产物;如果看到它们在改动里,先停下来告诉我。
提交之前把准备使用的提交信息给我看。

关于署名:官方说明 attribution 设置里的 commit 控制提交尾注,pr 控制 PR 描述里的文字,sessionUrl 控制云端会话链接,三者分开设置;整体设为 false 表示隐藏全部署名,这个取值需要 Claude Code v2.1.281 或更高版本。如果你的团队有规定,把规则写进 .claude/settings.json 或 CLAUDE.md 都行,设置文件的位置和优先级见 /guides/claude-code-settings-json。是否在提交里标注 AI 参与,请以你所在团队或开源项目的规定为准。

二、开 PR、找回会话

官方的分步写法是三句话:summarize the changes I've made to the authentication module,然后 create a pr,最后 enhance the PR description with more context about the security improvements。官方还提醒:提交 PR 之前自己读一遍 Claude 生成的内容,并让它标出潜在风险。

另外一个实用功能:Claude Code 在用 gh pr create(或 glab mr create)创建 PR 时,会把会话和 PR 关联起来。之后运行 claude --from-pr 1234(换成你的 PR 号),会打开按该 PR 过滤的会话选择器;也可以把 PR 地址粘进 /resume 选择器的搜索框。

提示词 2:开 PR

text
请基于当前分支相对 main 的全部提交,创建一个 pull request:
标题一句话说清楚目的;描述里依次写:背景、主要改动、测试方式、已知风险或需要评审者重点看的地方。
创建前先把标题和描述给我看,我确认后再用 gh 创建。

PR 的评审意见怎么处理?官方说 /pr-comments 命令已在 v2.1.91 移除,现在直接让 Claude 去看 PR 评论即可。让 Claude 读完评论再逐条修改的做法,可以参考 /guides/claude-code-github-actions,里面讲了在 PR 里用 @claude 触发。

三、合并冲突

官方文档里没有「解决合并冲突」的专页,所以这一节是通用 Git 知识加上 Claude Code 的特性,请当作建议而不是官方规定。

动手之前先做两件事:确认当前分支没有未提交的改动(git status 干净),或者先在新分支上操作。原因在官方 Checkpointing 文档里写得很清楚:/rewind 只追踪 Claude 用文件编辑工具改过的文件,Bash 命令改动、且 Claude 没编辑过的文件不会被追踪,要用 Git 自己撤销。合并、变基这类操作都是 Git 命令,出了问题要靠 Git 回退,比如合并还没提交时用 git merge --abort。

提示词 3:只看不改,先把冲突讲清楚

text
我在执行 git merge【分支名】时出现了冲突。请先不要修改任何文件。
运行 git status 找出所有冲突文件,对每个文件说明:
1)我这边(当前分支)做了什么改动、目的是什么;
2)对方分支做了什么改动、目的是什么;
3)两边是否真的矛盾,还是可以同时保留;
4)你建议怎么合并,以及依据。
最后列出你不确定、需要我来决定的地方。

等你看完分析,再让它动手,并且限制范围、要求验证:

提示词 4:逐个文件解决并验证

text
按我们刚才确认的方案,一次只处理一个冲突文件。每处理完一个,告诉我最终保留了哪些内容。
全部处理完后:1)确认文件里不再有 <<<<<<< ======= >>>>>>> 标记;2)运行【测试命令】;3)运行 git diff 给我看最终改动。
不要执行 git commit 或 git push,我检查之后自己提交。

最后一句是故意的:合并提交由你来按,比让它连提交带推送更稳妥。

四、让推送必须经过你

官方在最佳实践里给了权限规则的写法,示例里把 git push 放进 ask,把读取 .env 放进 deny:

json
{
  "permissions": {
    "ask": ["Bash(git push *)"],
    "deny": ["Read(./.env)", "Read(./.env.local)"]
  }
}

放进 .claude/settings.json 后,每次要推送都会先问你。官方还说明,权限规则匹配的是工具调用而不是意图,像「绝不能读 .env」这样不允许例外的规则,应该用拒绝规则或钩子,而不是只写在 CLAUDE.md 里。权限模式的区别见 /guides/claude-code-permission-modes。

Git 操作前后的检查清单

图:本站根据官方 Common workflows 与 Checkpointing 文档整理的示意图

常见问题

Q:一次只改一个功能,想并行做另一个,会冲突吗?

官方的做法是 claude --worktree feature-auth,每个工作树是独立的检出和分支,互不干扰,详见 /guides/claude-code-worktree。注意仓库至少要有一次提交。

Q:改动想先自己看一遍?

官方有 /diff 命令,用来审查工作区的改动,包括 Claude 到目前为止做的编辑。想让 Claude 再审一遍,用 /code-review,见 /guides/claude-code-code-review-security-review-commands。

Q:每次提交都要询问,太烦了?

可以只对 git push 保持询问,提交本身放行。也可以用计划模式或 acceptEdits 减少编辑类提示,但别把推送放开。

订阅和额度

多文件的冲突分析会读很多代码,消耗额度较多。需要长期使用 Claude Code 可以了解 /chongzhi/claude-code,价格和额度以官方页面当前显示为准。

相关教程

参考资料

  • Claude Code 文档:Common workflows — https://code.claude.com/docs/en/common-workflows
  • Claude Code 文档:Settings reference — https://code.claude.com/docs/en/settings-reference
  • Claude Code 文档:Best practices for Claude Code — https://code.claude.com/docs/en/best-practices
  • Claude Code 文档:Checkpointing — https://code.claude.com/docs/en/checkpointing
  • Claude Code 文档:Commands — https://code.claude.com/docs/en/commands

Nathaniel 的更多内容

  1. 01

    Claude Code 在 Windows 上的常见坑:Git Bash 还是 PowerShell、路径反斜杠、假报错、WSL 怎么选

    Windows 上用 Claude Code,装好之后最容易踩的是:用哪个 shell、路径写法不一致、grep 没匹配就报错、钩子没生效、WSL 和原生怎么选。本文逐条按官方文档整理原因和处理办法,附三段提示词和一张对照表。

    Claude0
  2. 02

    Claude Code Hooks 实战「提交前自动跑测试」:PreToolUse 拦住 git commit,测试不过就退出码 2,附 Windows 注意点

    只写一个完整例子:让 Claude Code 每次要执行 git commit 之前,先自动跑项目测试,没通过就拦下并把输出交给它修。本文按官方 Hooks 文档给出脚本、settings.json 配置、测试方法、排错和 Windows 的两处坑。

    Claude0
  3. 03

    Claude Code 自定义斜杠命令与 Skill 实战:从零写一个「生成更新日志」的 /release-notes,含传参、预执行命令和调试

    概念看过了,还是不知道从哪下手?本文按 Claude Code 官方「Extend Claude with skills」写一个完整可用的例子:用 /release-notes 根据 git 记录生成更新日志,覆盖目录、frontmatter、传参、预执行命令、预授权和调试。

    Claude0
  4. 04

    Claude Code 部署网站:先写 Dockerfile 和 compose 在本机跑通,再按清单上云服务器,别让它直接改线上

    想让 Claude Code 帮你把网站部署到云服务器。本文只写通用做法,按 Docker 官方文档讲:让它写 Dockerfile、.dockerignore 和 compose,在本机跑通,端口和数据卷怎么设,再给出上线清单,并说明为什么不要让它直接动线上机器。

    Claude0
  5. 05

    Claude Code 写爬虫与数据清洗:先查 robots.txt 和网站条款,控制频率,原始数据留一份再清洗

    想让 Claude Code 写爬虫抓数据再清洗。本文先讲合规:robots.txt 不是授权也不是安全措施、网站条款要自己读;再讲怎么用 Python 标准库检查规则、小样本先试、保存原始数据,以及用 pandas 清洗,附四段提示词。

    Claude0
  6. 06

    Claude Code 写 Chrome 扩展:按 Manifest V3 起步,加载未打包的扩展,改了哪些文件要重新加载

    想让 Claude Code 帮你写一个 Chrome 扩展。本文按 Chrome 官方扩展文档讲:manifest.json 的最小写法、在 chrome://extensions 加载未打包的扩展、哪些改动要刷新、怎么看控制台和报错,再给四段提示词,以及权限要尽量少。

    Claude0

同产品的其他教程

  1. 01

    Claude Code 写安卓 App:Android Studio 建项目、让它用 gradlew 编译安装,报错和日志怎么喂给它

    想让 Claude Code 帮你写安卓 App。官方文档没有专门的安卓教程,本文把 Claude Code 官方工作流和安卓官方命令行文档拼在一起:Android Studio 建项目、gradlew 编译安装、模拟器和真机、测试与日志,附四段提示词。

    Claude0
  2. 02

    Claude Code 用数据库 MCP 查数据、出报表:只读账号、先看口径再看数字,结果别一次拉太多行

    想用自然语言让 Claude Code 查数据库、出统计报表,而不是写后端接口。本文按官方 MCP 页面和 DBHub 说明讲:怎么连 PostgreSQL、MySQL、SQLite、输出太大怎么办、怎么让它先说明口径、怎么核对数字,附三段提示词。

    Claude0
  3. 03

    Claude Code 配 Figma MCP 还原设计稿:插件或一条命令安装,复制图层链接,小块小块地让它出代码

    想让 Claude Code 照 Figma 设计稿写前端代码。本文按 Figma 官方开发者文档讲:远程服务器地址、插件和手动两种安装、怎么复制图层链接、为什么要选小块、座位类型与调用次数限制,并给三段还原设计稿的提示词。

    Claude0
  4. 04

    Claude Code 管理 GitHub issue:用 gh 命令还是 GitHub MCP,怎么装、怎么限权、怎么让它分拣和回复 issue

    让 Claude Code 读 issue、分拣标签、起草回复、关联 PR,有两条路:装好 gh 命令行直接用,或连 GitHub 官方 MCP 服务器。本文按两边官方文档讲安装命令、令牌权限、只读模式,并给出三段分拣提示词和限权设置。

    Claude0
  5. 05

    Claude Code 配 Playwright MCP 做浏览器测试:一条命令安装,让它打开页面、点按钮、读控制台,再把流程写成测试

    想让 Claude Code 自己打开浏览器测试你的网页。本文按微软 Playwright MCP 官方仓库和 Claude Code 官方 MCP 文档讲:安装命令、怎么确认连上、有头无头与隔离参数、一次测试的提示词,以及它不是安全边界这件事。

    Claude0
  6. 06

    Claude Code 写文档、README 和代码注释:先让它读代码再动笔,指定风格,写完逐条核对命令能不能跑

    想让 Claude Code 给项目补 README、接口文档和注释,又怕它编造不存在的命令和参数。本文按官方「Handle documentation」工作流讲:先找没有文档的代码、指定风格、写完核对,附四段可复制提示词和验证办法。

    Claude0

0 条评论

登录 后参与评论

还没有评论,来抢沙发~