如何检查最后 2 个推送提交之间的差异

1 github git-diff github-actions

因此,我有一个 GitHub 工作流程,它在推送时运行并检查特定目录中的更改,并在有更改时运行脚本。然而,对于当前的实现 ( git diff HEAD^ HEAD),它仅检查最后 2 次提交之间的差异。完全有可能推送超过 1 个提交,因此我正在寻找一种方法来比较最后 2 个推送的提交。

如果有人能帮助我,那就太好了!

riQ*_*iQQ 6

您可以使用以下内容:

on: 
  push:

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
        with:
          # checkout full tree
          fetch-depth: 0
      - run: |
          git diff ${{github.event.before}} ${{github.sha}}
Run Code Online (Sandbox Code Playgroud)

根据上下文文档githubwebhook 事件数据的文档,push {{github.event.before}}在推送之前将替换为提交 SHA。{{github.sha}}或者{{github.event.after}}被推送的最新提交的 SHA 替换。