UNPKG

long-git-cli

Version:

A CLI tool for Git tag management.

90 lines (73 loc) 2.5 kB
# Long CLI 一个支持 Bitbucket/GitHub/GitLab 的 Git tag/commit 自动化命令行工具,基于 TypeScript,结构高度可扩展。 ## 安装 ```bash npm install -g long-git-cli ``` 或本地开发: ```bash npm install npm run build npm link ``` ## 支持命令 ### 自动打 tag ```bash long tag ``` - 拉取最新 tag,自动递增(格式:`test-v00.00.0000`) - 检查分支(禁止在 master/main/release 上打 tag) - 自动推送到远程仓库(Bitbucket/GitHub/GitLab 均支持) - 友好提示 tag 结果 ### 规范化 commit 并 push ```bash long commit ``` - 自动 git add . - 打印所有将要提交的文件,需用户确认 - 交互式收集 commit 信息(类型、范围、说明、描述、脚注,参考 Angular/commitizen 规范) - 生成规范化 commit message - commit 后再次确认,自动 push - 支持 Bitbucket/GitHub/GitLab,push 后友好提示 ## 交互流程示例 #### long tag ``` 🚀 开始自动打 tag... 📥 拉取最新的远程信息... 📋 当前最新 tag: test-v00.00.0001 🆕 新 tag: test-v00.00.0002 🏷️ 创建 tag: test-v00.00.0002 ✅ Tag test-v00.00.0002 创建成功 📤 推送 tag 到远程仓库... ✅ Tag 推送成功 🔗 你可以在 Bitbucket 上查看新创建的 tag 💡 提示:在 Bitbucket 中,你可以在 "Tags" 页面查看所有 tag ✅ Tag 创建并推送成功! ``` #### long commit ``` 📝 本次将要提交的文件: src/commands/commit.ts 请确认以上文件是否全部需要提交? (Y/n) 请选择提交类型(必选): feat 影响范围(可选,如模块名,直接回车跳过):core 简短说明(必填,建议50字以内):支持交互式 commit 详细描述(可选,直接回车跳过): 脚注(如 BREAKING CHANGE/关联 issue,可选,直接回车跳过): 🚩 即将提交以下内容: 提交文件: src/commands/commit.ts 提交注释: feat(core): 支持交互式 commit 请确认是否提交并 push? (Y/n) ✅ commit 成功! 🚀 push 成功! 🔗 你可以在 Bitbucket 上查看新创建的内容 💡 提示:在 Bitbucket 中,你可以在 "Commits" 页面查看 ``` ## 扩展性说明 - 所有 git 操作、tag 处理、交互、常量、类型均已抽取为公共模块 - 新增命令/支持更多平台/自定义交互,只需在 utils/constants/types 里维护 - 代码高度解耦,便于单元测试和团队协作 ## 贡献 欢迎提 issue 或 PR,或根据自身需求 fork 扩展!