介绍
Git Workflow 是一个极简的 Git 工作流 CLI 工具,旨在让分支管理和版本发布变得轻松愉快。它通过提供一套简洁的命令和交互式界面,帮助开发者专注于编码,而不是复杂的 Git 操作。
🎯 设计理念
极简主义
Git Workflow 遵循"少即是多"的设计理念:
- 零配置开箱即用 - 无需复杂配置即可开始使用
- 交互式引导 - 通过友好的交互界面引导用户操作
- 智能默认值 - 提供合理的默认配置,减少决策负担
规范化
统一的规范能够提高团队协作效率:
- 分支命名规范 - 自动生成带日期和描述的分支名
- 提交信息规范 - 遵循 Conventional Commits 标准
- 版本号规范 - 支持语义化版本控制(semver)
智能化
利用现代技术提升开发体验:
- AI 智能提交 - 自动分析代码变更生成提交信息
- 智能版本递增 - 根据现有版本自动推荐下一版本
- 智能分支检测 - 自动检测基础分支和远程状态
🌟 核心优势
1. 提高效率
- 减少重复操作 - 一个命令完成多个 Git 操作
- 快速分支创建 - 自动生成规范的分支名
- 批量分支清理 - 一键删除本地和远程分支
- 可视化 Stash 管理 - 直观管理代码暂存
2. 降低出错率
- 自动检测冲突 - 创建分支前检查未提交更改
- 智能推送策略 - 根据配置自动或询问推送
- 版本号验证 - 防止创建重复或无效的版本号
- 远程分支同步 - 自动处理本地和远程分支状态
3. 团队协作
- 统一规范 - 通过配置文件统一团队工作流
- 灵活配置 - 支持项目级和全局配置
- 可追溯性 - 规范的分支名和提交信息便于追溯
- 文档生成 - 规范的提交信息便于生成 CHANGELOG
4. 学习成本低
- 直观的交互界面 - 菜单式操作,无需记忆复杂命令
- 详细的提示信息 - 每个操作都有清晰的说明
- 渐进式学习 - 可以从交互式菜单开始,逐步学习快捷命令
- 完善的文档 - 提供详细的使用指南和最佳实践
🔧 技术特性
跨平台支持
- 操作系统 - 支持 Windows、macOS、Linux
- Node.js 版本 - 要求 Node.js >= 18.0.0
- 包管理器 - 支持 npm、pnpm、yarn、Volta
现代化架构
- TypeScript - 使用 TypeScript 开发,提供类型安全
- ESM 模块 - 使用现代 ES 模块系统
- 轻量依赖 - 精选依赖,保持包体积小巧
- 快速启动 - 优化启动速度,响应迅速
扩展性
- 插件化设计 - 模块化架构,易于扩展
- 配置驱动 - 通过配置文件自定义行为
- API 友好 - 清晰的 API 设计,便于集成
🎨 用户体验
视觉设计
- ASCII Art Logo - 独特的品牌标识
- 颜色编码 - 使用颜色区分不同类型的信息
- 图标支持 - 丰富的 emoji 和图标增强可读性
- 进度指示 - 清晰的操作进度反馈
交互设计
- 键盘导航 - 支持方向键、空格、回车等快捷操作
- 搜索过滤 - 在长列表中快速查找目标项
- 批量操作 - 支持多选和批量处理
- 撤销机制 - 重要操作前提供确认和撤销选项
错误处理
- 优雅退出 - 正确处理 Ctrl+C 等中断信号
- 详细错误信息 - 提供具体的错误原因和解决建议
- 自动恢复 - 在可能的情况下自动恢复错误状态
- 日志记录 - 记录关键操作便于问题排查
🚀 适用场景
个人开发
- 快速原型 - 快速创建和管理功能分支
- 版本发布 - 简化版本号管理和标签创建
- 代码整理 - 使用 AI 生成规范的提交信息
- 历史管理 - 清晰的分支和提交历史
团队协作
- 规范统一 - 通过配置文件统一团队工作流
- 代码审查 - 规范的分支名便于代码审查管理
- 发布管理 - 统一的版本发布流程
- 知识传承 - 降低新成员学习成本
企业级项目
- 合规要求 - 满足企业级项目的规范要求
- 可追溯性 - 完整的操作记录便于审计
- 集成能力 - 易于集成到现有的 CI/CD 流程
- 扩展性 - 支持自定义配置适应不同项目需求
📈 发展路线
已实现功能
- ✅ 分支管理(创建、删除、命名规范)
- ✅ Tag 管理(创建、删除、版本递增)
- ✅ 提交管理(AI 生成、规范格式)
- ✅ Stash 管理(可视化操作)
- ✅ 版本发布(package.json 更新)
- ✅ 配置系统(项目级、全局配置)
- ✅ 自动更新(版本检测、一键更新)
计划中功能
- 🔄 工作流模板(预设常用工作流)
- 🔄 Git Hooks 集成(自动化检查)
- 🔄 CHANGELOG 生成(基于提交历史)
- 🔄 多仓库管理(monorepo 支持)
- 🔄 可视化界面(Web UI)
- 🔄 插件系统(第三方扩展)
🤝 社区
Git Workflow 是一个开源项目,欢迎社区贡献:
贡献方式
- 🐛 报告 Bug - 发现问题请及时反馈
- 💡 功能建议 - 提出新功能想法
- 📝 文档改进 - 完善文档和示例
- 🔧 代码贡献 - 提交 Pull Request
- 🌟 推广分享 - 向更多开发者推荐
准备好开始使用了吗?查看 快速开始 了解如何安装和配置 Git Workflow。