В моем рабочем процессе 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://[email protected]/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/[email protected]
with:
path: repoA
- name: Checkout other repo
uses: actions/[email protected]
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 "[email protected]"
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://[email protected]/username/repoB.git
По умолчанию
actions/checkout
проверяет только одну фиксацию, что делает проверку неглубокой. Если вам нужна вся история, вы можете установить для входаfetch-depth
значение0
.См. Документацию здесь.
Это прекрасно, спасибо! Я думал, что параметр —unshallow уже делает это. — person Matthias Munz; 10.06.2020