39 lines
1.2 KiB
YAML
39 lines
1.2 KiB
YAML
name: Sync all branches to Gitea
|
||
|
||
on:
|
||
push:
|
||
branches:
|
||
- '*' # 监听所有分支的变化
|
||
|
||
jobs:
|
||
sync:
|
||
runs-on: ubuntu-latest
|
||
|
||
steps:
|
||
- name: Checkout GitHub repository
|
||
uses: actions/checkout@v3
|
||
|
||
- name: Configure Git
|
||
run: |
|
||
git config --global user.name "Your Name"
|
||
git config --global user.email "your-email@example.com"
|
||
|
||
- name: Push all branches to Gitea (force push)
|
||
env:
|
||
GITEA_URL: '124.220.61.41:5000' # 你的Gitea地址,不带 http://
|
||
GITEA_REPO: 'zhudongjer/openpilot' # Gitea上的仓库名
|
||
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} # GitHub Secrets中配置的Gitea访问令牌
|
||
run: |
|
||
# 获取所有的远程分支
|
||
git fetch --all
|
||
|
||
# 遍历每一个分支并推送到Gitea
|
||
for branch in $(git branch -r | grep -v '\->'); do
|
||
# 获取每个分支的名称
|
||
branch_name=$(echo $branch | sed 's/origin\///') # 去掉 origin/
|
||
git checkout --track $branch
|
||
|
||
# 强制推送每个分支到 Gitea,覆盖远程分支
|
||
git push --force http://your_gitea_user:${{ secrets.GITEA_TOKEN }}@${GITEA_URL}/${GITEA_REPO}.git $branch_name:$branch_name
|
||
done
|