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
此操作效果很好,但您可以通过执行以下操作来破坏它:
- 结帐feature/a
- 提交并推送一些内容
- 签出 feature/b(来自 feature/a)
- 提交并推送一些内容
- 结帐大师
- 提交并推送一些东西
- 结帐feature/b
- 变基为 master
- 再推
现在我得到以下错误:
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
我目前正在处理 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
此操作效果很好,但您可以通过执行以下操作来破坏它:
- 结帐feature/a
- 提交并推送一些内容
- 签出 feature/b(来自 feature/a)
- 提交并推送一些内容
- 结帐大师
- 提交并推送一些东西
- 结帐feature/b
- 变基为 master
- 再推
现在我得到以下错误:
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