git - git rev-list 在 github 操作中不起作用
问题描述
我有一个在创建发布时触发的 github 操作。
目标是:
- 查找发布所基于的标签
- 在该分支上找到上一个标签
到目前为止,我有这个:
CURRENT_TAG=${{ github.event.release.tag_name }}
PENULTIMATE_TAG=$(git describe --exact-match --tags `git rev-list --tags --max-count=1 --skip=1`)
然后将这些回显出来进行测试。第一个工作正常,但第二个总是返回空。我在本地尝试了完全相同的命令,它按预期返回第二个最近的标签。
我不知道为什么它在 github 操作中不起作用。为了调试,我删除了该git describe
组件,确认它实际上是 gitrev-list
没有返回任何内容。
解决方案
需要通过传递 fetch-depth 选项来获取所有历史记录:
- uses: actions/checkout@v2
with:
fetch-depth: 0
推荐阅读
- android - 为什么使用同一台PC时“hostname -I”的输出会发生变化?
- javascript - 如何在 Angular 6 中生成条形码?
- php - 无法在同一页面上回显行 mysql 数据
- c++ - Boost超几何测试
- java - 尝试访问 pojo 时出现 NoMessageBodyWriterFoundFailure
- azure - Azure - 带有正则表达式的 Web API 和路由模板
- python - 如何手动安装 Numpy (Linux)?
- css - CSS Grid 将主页分成两部分
- docker - traefik docker 标签中基于主机和路径的路由规则的混合
- html - 如何根据悬停效果设置背景颜色,即当鼠标悬停在为类的背景颜色定义的相同 css 定义中的 li 项目上时?