spec-branch 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #!/usr/bin/env bash
  2. # Spec Kit 分支管理便捷工具
  3. # 提供简化的分支管理命令
  4. set -e
  5. # 获取脚本目录
  6. SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
  7. MANAGE_SCRIPT="$SCRIPT_DIR/manage-branches.sh"
  8. # 颜色定义
  9. GREEN='\033[0;32m'
  10. BLUE='\033[0;34m'
  11. YELLOW='\033[1;33m'
  12. NC='\033[0m'
  13. show_help() {
  14. echo "Spec Kit 分支管理工具"
  15. echo ""
  16. echo "用法: spec-branch <命令> [选项]"
  17. echo ""
  18. echo "命令:"
  19. echo " status 查看分支状态"
  20. echo " clean 交互式清理分支"
  21. echo " merge 合并当前分支到main"
  22. echo " check 检查是否适合创建新功能"
  23. echo ""
  24. echo "示例:"
  25. echo " spec-branch status # 查看当前分支状态"
  26. echo " spec-branch clean # 交互式清理多余分支"
  27. echo " spec-branch merge # 完成当前功能并合并"
  28. echo " spec-branch check # 检查分支状态"
  29. }
  30. main() {
  31. if [ ! -x "$MANAGE_SCRIPT" ]; then
  32. echo "错误: 找不到 manage-branches.sh 脚本" >&2
  33. exit 1
  34. fi
  35. case "${1:-}" in
  36. status|s)
  37. echo -e "${BLUE}📊 分支状态概览${NC}"
  38. "$MANAGE_SCRIPT" --status
  39. ;;
  40. clean|c)
  41. echo -e "${YELLOW}🧹 开始分支清理${NC}"
  42. "$MANAGE_SCRIPT" --cleanup
  43. ;;
  44. merge|m)
  45. echo -e "${GREEN}🔄 合并当前分支${NC}"
  46. "$MANAGE_SCRIPT" --merge
  47. ;;
  48. check)
  49. echo -e "${BLUE}🔍 检查分支状态${NC}"
  50. "$MANAGE_SCRIPT" --check
  51. ;;
  52. help|h|--help|-h)
  53. show_help
  54. ;;
  55. "")
  56. # 默认显示状态
  57. "$MANAGE_SCRIPT" --status
  58. ;;
  59. *)
  60. echo "未知命令: $1" >&2
  61. echo "运行 'spec-branch help' 查看帮助" >&2
  62. exit 1
  63. ;;
  64. esac
  65. }
  66. main "$@"