mcpField
C
create-branch

create-branch

github.com/getsentry开发1.1k4.3k 次安装5 天前更新
代码仓库

关于 create-branch

按 Sentry 命名规范创建 Git 分支的 Claude Code 技能。它根据参数或本地改动提炼描述,无需交互选择基分支,并避免分支名称冲突。

主要功能

  1. 01提炼分支描述
  2. 02判断改动类型
  3. 03使用 kebab-case 分支名
  4. 04自动选择基分支
  5. 05避免本地和远程重名

适用场景

  1. 01为指定任务创建分支
  2. 02根据未提交改动命名分支
  3. 03无需交互提示即可开始工作

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/getsentry/skills --skill create-branch

安装后在 Claude Code 中输入/create-branch确认已加载。

详细介绍

创建分支

按照 Sentry 命名约定创建 git 分支。 除非用户明确要求手动选择名称,否则此工作流应保持非交互。

工作流

  1. 确定工作描述:

    • 如果存在 $ARGUMENTS,则使用它
    • 否则检查:
      git diff
      git diff --cached
      git status --short
      
    • 如果存在本地更改,则从差异中提炼简短描述
    • 如果没有本地更改,则使用通用描述,例如 repo-maintenance、tooling-update 或 work-in-progress
  2. 对分支类型进行分类:

类型适用场景
feat新功能
fix修复原本无法正常工作的行为
ref行为保持不变,调整结构
chore维护现有工具/配置
perf行为相同,但速度更快
style仅涉及视觉效果或格式
docs仅涉及文档
test仅涉及测试
ciCI/CD 配置
build构建系统
meta仓库元数据
license许可证变更

不确定时:新功能使用 feat,重构使用 ref,维护工作使用 chore。

  1. 生成 <type>/<short-description>。 <short-description> 使用 kebab-case,仅包含 ASCII 字符,最好由 3 到 6 个单词组成。

  2. 不经提示选择基准分支:

    git branch --show-current
    git remote | grep -qx origin && echo origin || git remote | head -1
    git symbolic-ref refs/remotes/<remote>/HEAD 2>/dev/null | sed 's|refs/remotes/<remote>/||' | tr -d '[:space:]'
    
    • 如果无法检测默认分支,则依次回退到 main、master,最后使用当前分支
    • 如果处于分离 HEAD 状态,则从当前提交创建分支
    • 如果当前已处于非默认分支,则从当前分支创建分支
    • 仅当用户明确要求时,才切换到默认分支
  3. 通过依次追加 -2、-3 等后缀来避免冲突,直到该名称在本地和远程都未被使用。

  4. 创建分支:

    git checkout -b <branch-name>
    

    报告最终分支名称,但不要等待确认。

参考资料

评论

支持 Markdown