GitHub 操作:“git 推送”到 CodeCommit 后变基失败

GitHub Actions: `git push` to CodeCommit fails after rebase

我目前正在处理 GitHub 将我的存储库保存到 AWS CodeCommit 的操作。它看起来像这样:

name: CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    
    steps:
      - name: "checkout"
        uses: actions/checkout@v2
      
      - name: "add aws codecommit remote"
        run: ...

      - name: "push repository to aws codecommit"
        run: |
          git fetch --tags
          git fetch --all
          git push aws --force --all
          git push aws --tags

此操作效果很好,但您可以通过执行以下操作来破坏它:

现在我得到以下错误:

error: remote unpack failed: Unknown commit XXXX
To https://git-codecommit.my-region-1.amazonaws.com/v1/repos/***
 ! [remote rejected] feature/b -> feature/b (unpacker error)
error: failed to push some refs to 'https://git-codecommit.my-region-1.amazonaws.com/v1/repos/***'
Error: Process completed with exit code 1.

有趣的是,如果我在我的本地机器上执行完全相同的步骤,它就会工作。我已经检查了这些问题的许多可能解决方案,但它们都建议强制推送或权限问题,但事实并非如此。无论如何我都尝试了这些解决方案,但没有任何效果。

有没有人给我提示?

干杯,提前致谢!

使用action/checkout时,如果要获取所有历史记录,需要添加fetch-depth:0变量:reference.

    steps:
      - name: "checkout"
        uses: actions/checkout@v2
          with:
           fetch-depth: 0