SuperAPI AI 工具集

create-branch

编程与开发

查看项目

更新于 10-16 05:48

技能介绍

用途:按 Sentry 约定创建带类型前缀和描述性名称的 git 分支,适用于被要求“创建分支”“新分支”“开始一个分支”等场景。

主要能力与流程:

  1. 获取用户名前缀:运行 gh api user --jq .login;若失败(如未认证),询问用户偏好的前缀。
  2. 确定分支描述:若提供了参数则用作工作描述;否则检查本地改动(git diff、git diff --cached、git status --short),有改动则阅读 diff 生成描述,无改动则询问用户将要做什么。
  3. 判定类型:从 feat(新用户功能)、fix(修复)、ref(重构)、chore(依赖、配置、版本升级等维护)、perf(性能)、style(样式/格式)、docs、test、ci、build、meta、license 中选择;不确定时,新事物用 feat,重构已有事物用 ref,仅维护已有事物用 chore。
  4. 生成并提议:分支名为 <username>/<type>/<short-description>;描述用 kebab-case 小写、3 到 6 个词、描述改动而非文件名,仅用 ASCII 字母、数字和连字符。向用户确认是否使用、修改或更换类型。
  5. 创建分支:检测当前分支与默认分支(git branch --show-current、git remote、git symbolic-ref refs/remotes/<remote>/HEAD,失败时回退到 git branch --list main master);若处于 detached HEAD 或当前分支非默认分支,会提示并询问从何处分支;如需切换默认分支,会妥善处理未提交改动(可 stash),失败时恢复 stash 并停止;创建前用 git show-ref 检查本地与远端是否已存在同名分支,存在则要求改名;最后执行 git checkout -b <branch-name>,并在创建后恢复 stash。

限制:依赖 gh 认证获取用户名;分支名受 git 字符限制;具体默认分支判定在无法确定时会询问用户。