Github动作,摇晃 git log的pretty = format标志不起作用

问题描述

使用Github的动作时,我遇到了一个奇怪的问题。我有一个Gradle任务,可以将发行说明打印到文件中(在本地工作得很好)。但是使用GitHub动作似乎无法为–pretty=format:使用git log标志。由于未知的原因,它不会打印任何内容。当我删除此标志或将其设置为不带引号的内容时,它将起作用。转义这些字符可能有问题吗?不过,这很奇怪。

不,fetch-depth没问题。设置为0,历史记录正确。

当我这样运行它时(在Gradle任务之外):

    run: |-
      git log develop --no-merges --date=short --pretty=format:"%ad %an: %s" v1.0.0...HEAD

它也可以工作。它仅与Github动作中的Gradle任务无关。

示例运行: https://github.com/JakubMosakowski/ItemistEvolved/actions/runs/350396754

有很多类似的运行,因为我正在尝试一切检查问题出在哪里。

更加精确。 Gradle任务中的此命令确实起作用:

printf("git log develop --no-merges --date=short --pretty=oneline ${tag}...HEAD".execute().text.trim())

但不是:

printf("git log develop --no-merges --date=short --pretty=\"%ad %an: %s\" ${getNewestTag()}...HEAD".execute().text.trim())

解决方法

将运行程序从Linux更改为Windows之后,它开始工作(在本地使用Windows)。

我认为Linux可运行的字符与转义符的工作方式不同。当我在命令中放入“或%符号”时,它可能最终会出错。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...