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