专业代码审查和Git提交工作流管理。当用户提及“push”、“commit”、“提交”或任何Git提交操作时使用此技能。
Push Flow是一项面向实际任务的技能,主要用于Overview. 这种技能提供专业代码审查, Git 承诺工作流程管理;它通过系统的预承诺检查、 构建验证和遵守来保证代码质量。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
本技能提供专业的代码审查与 Git 提交工作流管理。它通过系统化的提交前检查、构建验证以及对 Git 最佳实践的遵循,确保在任何代码提交前均满足质量要求。
切勿在未经用户明确批准的情况下自动提交或推送代码。
所有 Git 操作均需在每一步获得用户确认。
提交信息(commit message)必须始终使用中文。
所有提交信息须以中文撰写,并遵循 Conventional Commits 规范(含中文描述)。
当用户提及 push / commit / 提交 时:
go build 确保可成功编译go build在进行任何代码修改前,自动提交当前所有未提交的变更:
# 检查是否存在未提交的变更 git status # 若存在变更,则提交 git add . git commit -m "chore: 保存当前工作进度"
注意:此为本地提交(不执行 push),用于保留进行中的工作状态。
明确向用户提问:
“检测到有代码变更,是否需要进行 Code Review?”
若用户同意,则进入全面代码审查环节。
执行系统性审查,覆盖以下维度:
代码质量:
Go 特定规范:
项目规范:
安全性:
提供可操作的反馈意见,包含具体行号引用及改进建议。
按 Conventional Commits 格式生成简洁、准确的中文提交信息:
: [可选正文]
类型说明:
feat: 新功能fix: 修复 bugrefactor: 重构docs: 文档更新style: 代码格式调整test: 测试相关chore: 构建/工具相关示例:
feat: 添加用户认证中间件 - 实现 JWT token 验证 - 添加权限检查逻辑 - 完善错误处理
向用户提交审批:
“建议的 commit message:
[commit message]
是否同意使用此 commit message?”
仅在用户批准后执行:
git add . git commit -m "[approved commit message]"
在任何推送操作前,验证构建是否成功:
go build
若构建失败:
推送前始终拉取远程最新变更:
git pull
若 pull 引入新变更:
go build 验证兼容性仅在全部检查通过后执行:
git push
提交前须验证:
若检测到违规项,须向用户发出警告,并请求确认是否排除对应文件。
远程仓库 URL 格式:始终使用 SSH 格式(git@github.com:user/repo.git),而非 HTTPS。
若检测到 HTTPS 格式的远程地址,建议转换为 SSH:
git remote set-url origin git@github.com:user/repo.git
针对 Go 项目:
go buildgo build推送前请确保完成以下各项:
go build 执行成功git pullgo build 再次执行成功用户: “帮我提交代码”
助理:
feat: 添加用户登录功能,是否同意?”git commitgo build 进行验证git pullgo buildgit push密码检测规则 🔒 在「关键规则」部分新增: 禁止提交包含密码的文件 提交前自动扫描敏感信息,包括: 明文密码 API keys、tokens、secrets 数据库凭证 私钥 任何敏感认证信息 若检测到敏感数据,立即中止提交并向用户发出警告 检测模式包括: password =, PASSWORD =, pwd = api_key =, secret =, token = private_key, 密码, 口令 数据库连接字符串中的凭证 JWT secrets、加密密钥
多功能分离提交规则 📦
在「关键规则」部分新增:
当变更涉及多个不同功能时,必须分别提交
自动分析与分组文件:
按文件路径和模块结构分组
按相关功能分组(如认证、API、数据库、UI 等)
按逻辑功能边界分组
为每个功能组生成独立的 commit message
按顺序依次提交,而非一次性提交全部文件
示例:若变更同时包含“用户认证”和“数据导出”两个功能,则生成两个独立 commit:
feat: 添加用户认证功能(认证相关文件)
feat: 实现数据导出功能(导出相关文件)
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章