v1.1.2 现已发布

Git 标签管理
从未如此简单

标准化的版本标签管理工具,让项目版本控制更加规范高效

terminal
$ npm install -g @joemuhuang/gtt

✓ 已复制到剪贴板

核心功能

强大的功能,让标签管理变得轻松

标准化格式

自动生成如 v_202403211200_test 的标准化标签,保持一致性

智能分支选择

支持搜索远程分支,显示更新时间,自动检测分支合并状态

灵活标签位置

分支合并后,可选择在源分支或目标分支(使用合并提交)上创建标签

高度可配置

自定义标签格式、日期格式、后缀选项,支持保存自定义配置

标签注释

支持为标签添加详细说明信息(Annotated Tags),记录版本变更

安全推送

推送前确认,完善的错误处理和认证失败提示

自定义后缀

支持自定义后缀或无后缀模式,可选择保存到本地或全局配置

远程同步

自动执行 git fetch --prune,清理过期远程分支引用

标签管理

支持查看、删除本地和远程标签,便捷的标签管理命令

预览模式

--dry-run 预览标签创建结果,避免误操作

彩色输出

美观的彩色终端输出,关键信息一目了然

配置管理

支持查看、初始化配置文件,支持自定义主分支列表

快速开始

简单的三步,开始使用 git-time-tag

1

安装

$ npm install -g @joemuhuang/gtt
2

运行

$ gtt

或使用命令行选项:

$ gtt -h                           # 显示帮助信息
$ gtt -m "发布版本 1.0.0"
$ gtt -b origin/main
$ gtt -b origin/feature-x -m "RC1"
$ gtt --dry-run                    # 预览模式
$ gtt list                         # 查看标签列表
$ gtt delete v_20240321_test       # 删除标签
$ gtt config show                  # 显示配置
3

交互流程

  • 自动获取远程分支(git fetch --prune
  • 搜索选择远程分支(显示更新时间)
  • 选择标签位置(如分支已合并)
  • 选择标签后缀(支持自定义/无后缀)
  • 输入标签注释/说明(可选)
  • 确认是否推送到远程仓库
  • 预览标签名称并最终确认
  • 保存自定义后缀到配置(可选)

配置选项

创建 .gitimetagrc 文件自定义行为

.gitimetagrc
{
  "tagFormat": "v_{datetime}_{suffix}",
  "datetimeFormat": "yyyyMMddHHmm",
  "suffixes": ["alpha", "beta", "stable"],
  "mainBranches": ["main", "master", "develop"]
}
选项 描述 默认值
tagFormat 标签模板,支持 {datetime}{suffix}{branch}{shortHash} 占位符 v_{datetime}_{suffix}
datetimeFormat 日期格式(date-fns 语法) yyyyMMddHHmm
suffixes 后缀选项数组 ["test", "main"]
mainBranches 主分支列表(用于检测合并状态) ["main", "master", "develop"]

命令行选项

$ gtt                              # 交互式创建标签
$ gtt -m "发布版本 1.0.0"           # 创建带消息的标签
$ gtt -b main                      # 指定远程分支
$ gtt -b origin/feature-x -m "RC1"   # 指定分支并带消息
$ gtt --dry-run                    # 预览模式

子命令

$ gtt list                         # 查看本地标签列表
$ gtt list -r                      # 查看远程标签列表
$ gtt delete v_20240321_test       # 删除本地标签
$ gtt delete v_20240321_test -r    # 删除本地和远程标签
$ gtt config show                  # 显示当前配置
$ gtt init                         # 初始化配置文件

配置说明

  • tagFormat: 支持 {datetime}{suffix}{branch}{shortHash} 变量
  • datetimeFormat: 使用 date-fns 格式语法
  • suffixes: 标签后缀选项列表
  • mainBranches: 自定义主分支列表(用于检测合并状态)

准备好开始了吗?

立即体验标准化的 Git 标签管理