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

如何在GitHub Action中检测仓库指定Tag是否存在?

检测GitHub仓库中特定Tag是否存在的问题

我正尝试检测仓库中是否存在某个特定Tag,以下是我的简化尝试过程:

尝试1

name: Check for Tag

on: push

jobs:
  check-tag:
    runs-on: ubuntu-latest

    steps:
      - name: Check for Tag
        run: |
          TAG="0.1"
          if git show-ref --tags --verify --quiet "refs/tags/${TAG}"; then
            echo "Tag ${TAG} exists"
          else
            echo "Tag ${TAG} does not exist"
          fi

输出结果:Tag 0.1 does not exist

但在本地CLI执行git show-ref --tags --verify --quiet "refs/tags/0.1"时,该Tag实际存在(命令返回退出码0,符合找到Tag时的预期)。

尝试2

name: Check for Tag

on: push

jobs:
  check-tag:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v2
        
      - name: Check for Tag
        run: |
          TAG="0.2"
          git show-ref --tags --verify --quiet "refs/tags/${TAG}" 
          exit_code=$?
          echo ${exit_code}
          if [[ $exit_code -eq 0 ]]; then
            echo "Tag ${TAG} exists"
          else
            echo "Tag ${TAG} does not exist"
          fi

由于0.2 Tag不存在,git show-ref返回退出码1,直接导致整个工作流执行失败。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 17:45:12