本文档定义了Spec Kit的自动化分支管理流程,旨在防止分支累积,确保开发流程清洁高效。
/specify
命令创建独立的功能分支001-功能名
, 002-功能名
manage-branches.sh
主要的分支管理脚本,提供以下功能:
# 查看分支状态
./manage-branches.sh --status
# 交互式分支清理
./manage-branches.sh --cleanup
# 自动合并当前分支
./manage-branches.sh --merge
# 新功能创建前检查
./manage-branches.sh --check
spec-branch
(便捷工具)简化的命令行界面:
# 查看状态
spec-branch status
# 清理分支
spec-branch clean
# 合并当前分支
spec-branch merge
# 检查分支状态
spec-branch check
create-new-feature.sh
已集成分支检查:
# 正常创建(包含分支检查)
./create-new-feature.sh "新功能描述"
# 跳过分支检查(紧急情况)
./create-new-feature.sh --skip-check "新功能描述"
# 检查分支状态
spec-branch check
# 如果有多分支,先清理
spec-branch clean
# 自动合并当前分支到main
spec-branch merge
# 或手动合并流程
git add .
git commit -m "完成功能实现"
git checkout main
git merge <feature-branch>
git branch -d <feature-branch>
脚本会分析以下信息:
# 查看详细状态
spec-branch status
# 交互式清理(推荐)
spec-branch clean
交互式清理提供选项:
spec-branch status
检查状态# 跳过检查创建紧急分支
./create-new-feature.sh --skip-check "紧急修复"
# 查看所有分支
git branch -v
# 删除已合并的分支
git branch --merged main | grep -v main | xargs git branch -d
# 强制删除未合并分支(谨慎!)
git branch -D <branch-name>
SKIP_BRANCH_CHECK=true
- 全局跳过分支检查MAIN_BRANCH=develop
- 自定义主分支名称修改manage-branches.sh
中的检查逻辑:
# 修改最大允许分支数
MAX_BRANCHES=2
# 修改警告阈值
WARN_THRESHOLD=1
# 定期运行分支状态检查
spec-branch status
# 查看分支历史
git branch -v
git log --oneline --graph --all
在.git/hooks/pre-push
中添加检查:
#!/bin/bash
# 推送前检查分支状态
./.specify/scripts/bash/manage-branches.sh --check
在构建流程中添加分支检查:
- name: Check branch status
run: ./.specify/scripts/bash/manage-branches.sh --status
# 检查脚本权限
chmod +x .specify/scripts/bash/manage-branches.sh
# 检查Git状态
git status
# 解决冲突后继续合并
git add .
git commit -m "解决合并冲突"
spec-branch merge
# 强制删除
git branch -D <branch-name>
# 清理远程分支引用
git remote prune origin
版本: 1.0.0 更新日期: 2025-09-28 维护者: Spec Kit Team