快速提交推送
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @kunlungrowth/git-pushing-fast
技能介绍
解决日常 Git 推送的具体痛点 日常开发中,当我们需要把当前工作提交并推送到远端时,常遇到几个具体问题:临时切换任务后忘了哪些改动属于本次交付,直接 git add -A 容易把无关文件一起暂存;手动写提交信息时,要么用 “update” 这类空泛描述,要么漏写影响范围导致后续排查困难;推送时不检查 upstream,不小心推到错误的分支;遇到 push rejected 时直接强推,可能覆盖他人的提交。这些问题不仅拖慢交付节奏,还可能引发代码冲突或安全风险。
核心工作方式 该技能作为 Git 交付助手,遵循固定流程确保改动安全推送,核心步骤如下: 1. 状态检查:通过 git status --short 确认当前分支、未暂存/已暂存改动,用 git rev-parse --abbrev-ref --symbolic-full-name @{u} 查询 upstream,先查看 git diff --cached --stat 或 git diff --stat 明确改动范围,全程不丢弃任何本地改动。 2. 精准暂存:支持全量暂存(git add -A)、指定范围暂存,或通过 git add -p 按逻辑分组暂存;明确禁止密钥文件(如 .env、*.pem)进入暂存区,避免泄露敏感信息。 3. 规范提交信息:根据实际 diff 自动匹配 Conventional Commit 格式,生成 type(scope): 中文摘要;非简单改动需补充 2-5 条分段正文,若已运行测试/校验,额外添加 “测试:” 或 “验证:” 分段记录结果。 4. 无交互提交与安全推送:用多个 -m 参数执行 git commit,禁止 --no-verify;若 pre-commit hook 失败,优先修复问题而非跳过校验。推送时优先检测 upstream,无则通过 git push -u origin <branch> 新建跟踪关系;若遇 push rejected,先 git fetch 对比远端差异再决定是否合并,仅在用户明确要求且确认风险后执行强推,且严禁向 main/master 强推。 5. 结果汇报:输出包含提交哈希、分支名、远端推送结果、已运行校验的 PushResult 工件,方便后续汇总或触发 CI。
适用边界与注意事项 该技能仅适用于普通单分支交付场景,不适合以下情况:需要同时操作双分支的合并任务(应使用 git-push-secondary-merge-primary);需强制推送、rebase、squash 或 amend 改写历史;创建 PR(除非推送后用户明确要求);代码评审、发布说明、周报生成;以及任何破坏性命令操作。
使用场景
- 在开发新功能时,需将本地多文件改动按逻辑分组暂存,生成Conventional Commit信息后推送到feature分支
- 修复登录模块bug时,需精准暂存auth相关文件,生成fix(auth):修复登录跳转错误的提交信息并推送到远端
- 调整API接口参数后,需按模块逻辑暂存改动,生成feat(api):新增用户信息字段的提交信息并推送到dev分支
- 完成单元测试后,需在提交信息中添加测试分段,记录测试通过情况并安全推送到当前分支
适合人员
- 前端开发者:在修复页面样式bug时,需快速暂存样式文件并推送到feature分支,确保改动及时生效
- 后端开发者:在调整接口参数时,需按逻辑分组暂存改动,生成规范提交信息并推送到dev分支
- 移动端开发者:在修复App登录异常时,需精准暂存相关代码,生成fix(auth):修复移动端登录问题的提交信息并推送
- 测试工程师:在完成功能测试后,需在提交信息中添加测试结果分段,并安全推送到测试分支