在我的Github工作流程中,我正在检查两个存储库。随后,我将工作流存储库“ repoA”的两个目录与存储库“ repoB”合并。推送到repoB时,出现错误:
From ../repoA
* [new branch] master -> workspace/master
Automatic merge went well; stopped before committing as requested
[master cbd72fe] Update
To https://github.com/username/repoB.git
! [remote rejected] master -> master (shallow update not allowed)
error: failed to push some refs to 'https://username@github.com/username/repoB.git'
##[error]Process completed with exit code 1.
我不明白为什么我的仓库太浅以及如何解决。 Github工作流程文件:
name: test
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout current repo
uses: actions/checkout@v2
with:
path: repoA
- name: Checkout other repo
uses: actions/checkout@v2
with:
repository: username/repoB
path: repoB
token: ${{ secrets.ACCESS_TOKEN }}
- name: Update repo
run: |
cd repoB
git remote add repoa ../repoA
git fetch --unshallow repoa
git config --global user.email "asd@asd.com"
git config --global user.name "username"
git merge -s ours --no-commit --allow-unrelated-histories repoa/master
rm -rf webserver
rm -rf etl
git add .
git read-tree --prefix=webserver -u repoa/master:serv
git read-tree --prefix=etl -u repoa/master:misc_projects/etl
git add .
git commit -m "Update" -a
git push -f https://username@github.com/username/repoB.git
答案 0 :(得分:2)
默认情况下,actions/checkout
仅签出一次提交,从而使签出变浅。如果需要所有历史记录,可以将fetch-depth
输入设置为0
。
请参阅文档here。
- uses: actions/checkout@v2
with:
fetch-depth: 0