使用环境变量 github.ref_name 不会给我分支名称

问题描述 投票:0回答:1

当我在工作流程中使用时

github.ref_name
,它没有为我提供触发此工作流程的分支名称。我明白了
16/merge
。为什么?当我使用
github.ref_type
时,我清楚地看到我的引用类型是
branch
那么为什么我没有得到分支名称?

当我使用

$GITHUB_REF
git symbolic-ref HEAD
(并将
refs/heads/
分开)时也会显示。啊,我尝试了
github.event.push.ref
,但它没有向我显示任何内容。

如何从触发工作流的位置始终获取分支名称?

github github-actions
1个回答
4
投票

对于以下代码:

Run echo running on branch ${GITHUB_REF##*/} ${GITHUB_REF}

当您的工作流程因推送事件而运行时,您将得到:

running on branch main refs/heads/main

但是对于拉取请求事件,它将是:

running on branch merge refs/pull/3/merge

这是为什么?

如果存储库位于 GitHub 上并且您有任何已打开的拉取请求,您将获得这些前缀为 refs/pull/ 的引用。这些基本上是分支,但由于它们不在 refs/heads/ 下,当您从服务器克隆或获取时,您无法正常获取它们 — 获取过程通常会忽略它们。

您也可以检查这个问题这里

© www.soinside.com 2019 - 2024. All rights reserved.