You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Azure DevOps CLI获取代码仓库标签的日期

Azure DevOps CLI获取标签对应日期的实现方式

az repos ref list 命令返回的标签引用列表默认不携带时间字段,不需要依赖本地Git仓库环境,通过以下两种方式即可获取需要的标签/对应提交日期:

  • 基于标签关联的提交ID查询提交时间
    拿到的标签objectId就是标签指向的Git提交哈希,你的场景下标签创建时间和提交时间基本一致,直接调用CLI内置的提交查询命令即可拿到时间字段:
    # 批量拉取所有标签的名称和对应提交ID
    az repos ref list -p <项目名> -r <仓库名> --filter tags --query "[].{tagRef:name, commitId:objectId}" -o table
    
    # 传入单个提交ID查询详情,返回结果中 committer.date 字段就是对应时间
    az repos commit show --repository <仓库名> --commit-id <objectId值> --project <项目名>
    
    需要批量导出所有标签和对应日期时,写简单的Shell/PowerShell循环遍历标签列表批量调用即可,全程不需要本地克隆仓库。
  • 针对带注解标签查询原生标签创建时间
    如果使用的是带注解标签(annotated tag),标签本身存储了独立的创建人、创建时间元数据,可以直接通过Azure DevOps内置的REST接口查询:
    # 从ref路径提取纯标签名,例如将 refs/tags/v1.2.3 处理为 v1.2.3
    $pureTagName = "refs/tags/1.0.0-tag-name".Substring(10)
    az rest --method get --uri "https://dev.azure.com/<组织名>/<项目名>/_apis/git/repositories/<仓库名>/annotatedtags/$pureTagName?api-version=7.1-preview.1"
    
    接口返回结果中的taggedBy.date字段就是标签的实际创建时间,同时也会返回标签关联的提交ID等完整信息。

补充说明:轻量标签本身不存储独立的创建时间元数据,本质只是提交的固定引用,这类标签直接取对应提交的提交人时间即可,和标签实际创建时间的差异在绝大多数场景下可以忽略。

内容的提问来源于stack exchange,提问作者Peter Kronenberg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 18:06:07