Git 集成实战完全指南(三):自动化 Commit 与 PR
title: Git 集成实战完全指南三自动化 Commit 与 PR——生成提交信息与创建 Pull Requestdate: 2026-07-10category: AI 开发工具tags: [Claude Code, Git, Commit, Pull Request, 自动化]Git 集成实战完全指南三自动化 Commit 与 PR提交信息怎么写PR 描述怎么填这些看似小事实则最耗时间。本篇教你让 Claude Code 自动生成高质量的 Commit Message 和 Pull Request。前言每个开发者都有过这样的经历# 随手一写gitcommit-mfixgitcommit-mupdategitcommit-m改了点东西提交信息敷衍了事后来回头看日志完全不知道改了什么。PR 描述也是一片空白Review 的人一头雾水。用 Claude Code这些都可以自动化——分析你的代码改动生成清晰的提交信息和 PR 描述。一、智能 Commit Message 生成1.1 约定式提交Conventional Commitscommit_message_format type(scope): subject type: feat - 新功能 fix - Bug 修复 docs - 文档 style - 代码格式 refactor - 重构 test - 测试 chore - 构建/工具1.2 让 Claude 自动生成帮我生成提交信息Claude 分析git diff后输出检测到以下改动 - UserList.vue: 新增搜索功能 (45行) - user.ts: 新增搜索 API (12行) - user.ts: 修复分页 bug (-3行) 建议提交信息 feat(user): 用户列表页新增搜索功能并修复分页问题 如果需要拆分提交 提交 1: feat(user): 用户列表页新增搜索功能 提交 2: fix(user): 修复分页组件 pageSize 绑定错误1.3 多语言提交信息用中文写提交信息Claude 输出feat(用户管理): 用户列表页新增搜索功能和状态列或者英文write commit message in EnglishClaude 输出feat(user): add search functionality and status column to user list1.4 批量提交当一次改动涉及多个模块时Claude 会建议拆分提交我有 5 个文件的改动怎么组织提交Claude 分析后建议拆分为 3 次提交 提交 1: feat(report): 新增日报统计页面 - src/views/Reports/Daily.vue - src/api/report.ts 提交 2: feat(report): 新增周报和月报页面 - src/views/Reports/Weekly.vue - src/views/Reports/Monthly.vue 提交 3: chore(deps): 升级 ECharts 到 v5 - package.json二、自动化 Commit2.1 一键提交提交所有改动Claude 自动执行# 1. 分析改动gitdiff--stat# 2. 生成提交信息# feat(user): 用户列表页新增搜索功能并修复分页问题# 3. 确认# 提交信息feat(user): 用户列表页新增搜索功能并修复分页问题# 确认提交y/N# 4. 执行gitadd-Agitcommit-mfeat(user): 用户列表页新增搜索功能并修复分页问题2.2 选择性提交只提交 UserList.vue 和 user.ts 的改动node_modules 除外Claude 执行gitaddsrc/views/UserList.vue src/api/user.tsgitcommit-mfeat(user): 用户列表页新增搜索功能2.3 amend 提交把刚才的提交信息改一下加上 Jira 工单号Claude 执行gitcommit--amend-mfeat(JTCQK1-123): 用户列表页新增搜索功能2.4 撤销提交撤销最后一次提交但保留代码改动Claude 执行gitreset--softHEAD~1撤销最后一次提交并且丢弃代码改动Claude 执行gitreset--hardHEAD~1三、Pull Request 自动化3.1 创建 PR创建一个 PR 合并到 developClaude 自动执行# 1. 确保分支已推送gitpush-uorigin feature/user-search# 2. 使用 gh CLI 创建 PRghprcreate\--basedevelop\--headfeature/user-search\--titlefeat(user): 用户列表页新增搜索功能\--bodyPR 描述自动生成...3.2 自动生成 PR 描述Claude 会根据改动内容自动生成 PR 描述## 变更概述 本次变更在用户列表页新增了搜索功能和状态列展示。 ## 主要改动 ### 新增功能 - 用户列表页顶部新增搜索框支持按用户名模糊搜索 - 表格新增状态列展示用户活跃状态 - 新增搜索 APIGET /api/users?usernamexxx ### Bug 修复 - 修复分页组件 pageSize 绑定错误原值为字符串而非数字 ## 文件变更 | 文件 | 变更类型 | 说明 | |------|---------|------| | UserList.vue | 修改 | 新增搜索框、状态列 | | user.ts | 修改 | 新增搜索 API、修复分页 | | user.ts | 新增 | 新增 UserQuery 类型定义 | ## 自测清单 - [x] 搜索功能正常工作 - [x] 分页功能正常 - [x] TypeScript 编译通过 - [x] 无 ESLint 错误 ## 截图如有 UI 变更 暂无 ## 关联工单 - JTCQK1-123: 用户列表搜索功能3.3 PR 模板你可以在.github/PULL_REQUEST_TEMPLATE.md中定义模板Claude 会填充## 变更类型 - [ ] 新功能feat - [ ] Bug 修复fix - [ ] 重构refactor - [ ] 文档docs - [ ] 测试test - [ ] 构建/工具chore ## 影响范围 - [ ] 前端 - [ ] 后端 - [ ] 数据库 - [ ] 配置文件 ## 测试情况 - [ ] 单元测试已通过 - [ ] 手动测试已通过 - [ ] 需要额外测试 ## 备注 其他需要说明的信息3.4 审查请求创建 PR 并邀请张三和李四 ReviewClaude 执行ghprcreate\--basedevelop\--headfeature/user-search\--reviewerzhangsan\--reviewerlisi\--titlefeat(user): 用户列表页新增搜索功能四、PR 状态跟踪4.1 查看 PR 状态我的 PR 状态怎么样Claude 执行ghprlist--stateopen--headfeature/user-search ghprchecksPR_NUMBER输出 PR 状态跟踪 ━━━━━━━━━━━━━━━━━━━━━ PR #42: feat(user): 用户列表页新增搜索功能 目标分支develop 状态✅ Open CI 检查 ✅ TypeScript 编译通过 ✅ ESLint 检查通过 ✅ 单元测试 42/42 通过 ⏳ 构建中... Review ✅ 张三Approved ⏳ 李四未审查 合并等待李四 Review4.2 更新 PR我在 PR 里又加了一个提交Claude 自动推送# 在当前分支上修改gitadd.gitcommit-mfix: 补充单元测试gitpush# PR 自动更新五、Cherry-pick 自动化5.1 挑选提交把 commit a1b2c3d 挑到 feature/user-search 分支Claude 执行gitcheckout feature/user-searchgitcherry-pick a1b2c3d5.2 批量挑选把 develop 上的 3 个 fix 提交挑到 release/1.0 分支Claude 先找到目标提交# 查找最近的 fix 提交gitlog develop--oneline--grepfix-3然后批量 cherry-pickgitcheckout release/1.0gitcherry-pick a1b2c3d e5f6g7h i8j9k0l六、Rebase 自动化6.1 交互式 Rebase帮我 rebase 最近 3 次提交把它们 squash 成 1 次Claude 执行交互式 rebasegitrebase-iHEAD~3# 自动将后两次标记为 squash# 合并提交信息6.2 安全 Rebase把 feature/user-search rebase 到最新的 develop 上Claude 先检查风险当前 feature/user-search 有 2 个未推送的提交 a1b2c3d feat: 新增搜索功能 e5f6g7d fix: 修复搜索样式 rebase 会重写提交历史确认执行y/N确认后执行gitfetch origingitrebase origin/develop七、这一章的核心心得提交信息要规范——约定式提交让 git log 一目了然Claude 自动生成提交信息——分析 diff提取变更要点PR 描述可以自动填充——变更概述、文件列表、自测清单批量操作提高效率——批量 cherry-pick、批量 squashPR 状态实时跟踪——CI 检查、Review 进度、合并条件Rebase 要小心——未推送的提交可以 rebase已推送的不建议八、下一步学会了自动提交和创建 PR但合并时经常遇到冲突。怎么处理合并冲突让 Claude 帮你自动解决下一篇我们学习 Git 冲突解决。系列目录Claude Code 与 Git 的基础集成——自然语言操作 Git智能分支管理——分支策略、自动创建、合并预防自动化 Commit 与 PR——生成提交信息、创建 Pull Request← 本篇Git 冲突解决——合并冲突的自动检测与修复待写Git Blame 与历史追踪——追溯代码变更的来龙去脉待写Git 标签与版本管理——Release 流程自动化待写Git 钩子自动化——pre-commit、pre-push 自动执行待写Git 团队协作最佳实践——PR Review、Code Review 流程待写