【问题标题】:Git history in a Github ActionGithub Action 中的 Git 历史记录
【发布时间】:2020-10-01 16:35:54
【问题描述】:

我想在 Github Action 中记录 git 历史记录。但是好像Action的环境有不同的:

echo $(git log -5 --oneline)

外壳:/bin/bash -e {0}

7c0faa6 将 c245982a87ef5538d42ab905706faa08f4d67ce9 合并为 8a939ef1f71eaecac0ae52d625dad3e3c9fa4c16

这不是一个 git 日志,这些哈希值都不匹配我在我的仓库中的内容。

为什么会这样?

如何从 Github Action 的环境中访问提交历史记录?

【问题讨论】:

    标签: git continuous-integration github-actions


    【解决方案1】:

    您遇到这种情况是因为您的工作流在 pull_request 事件上运行。在这些事件中,GITHUB_REF 是从头分支到基础的合并提交。这样做的目的是针对合并提交运行 CI,以在实际合并之前检查它是否通过。

    如果您不想要合并提交并想要签出头部提交,则必须将 HEAD 的 sha 作为ref 传递给结帐。您可以按如下方式更改结帐(取自this example)。

    此外,默认情况下,结帐很浅,这意味着它只有最后一次提交。要读取比上次提交更多的内容,请将非零数字传递给 fetch-depth,或者也传递零,这将获取整个历史记录(默认为 1):

    - uses: actions/checkout@v2
      with:
        ref: ${{ github.event.pull_request.head.sha }}
        fetch-depth: 0
    

    查看documentation here 了解pull_request 事件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-04
      • 2023-01-30
      • 1970-01-01
      • 2012-04-21
      • 2020-05-30
      • 1970-01-01
      • 2019-05-05
      • 1970-01-01
      相关资源
      最近更新 更多