GitHub 是一个流行的代码托管平台,允许开发人员分享和协作他们的代码。当您在 GitHub 上 fork 一个项目时,您会创建一个该项目的副本,您可以对其进行修改和贡献,而不会影响原始项目。但是,如果您想将您的更改同步回原始项目,您需要创建一个 pull Request-Hook 。
首先打开你Fork的项目,打开Actions
页面,点击new workflow
,选择set up a workflow yourself
进入编辑页面。
编辑文件 文件取名为sync.yml
,然后输入以下代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 name: Upstream Sync permissions: contents: write on: schedule: - cron: "0 0 * * *" workflow_dispatch: jobs: sync_with_upstream: name: Sync with Upstream runs-on: ubuntu-latest if: ${{ github.event.repository.fork }} steps: - name: Checkout target repo uses: actions/checkout@v3 - name: Sync Upstream uses: aormsby/Fork-Sync-With-Upstream-action@v3.4 with: target_repo_token: ${{ secrets.GITHUB_TOKEN }} upstream_sync_repo: shaoyouvip/uptime upstream_sync_branch: main target_sync_branch: main test_mode: false - name: Check for Failure if: failure() run: | echo "[Error] Due to a change in the workflow file of the upstream repository, GitHub has automatically suspended the scheduled automatic update. You need to manually sync your fork." exit 1
修改配置
定时任务执行间隔 修改cron项,这里是0 0 * * *
,代表每天0点执行一次
要同步的仓库路径 修改upstream_sync_repo
项,这里要填你fork的仓库路径,在你fork项目的的名字下方能看到。
同步分支名称( 超级无敌要注意 ) 修改upstream_sync_branch
和target_sync_branch
项,填写你要同步分支的名称,例如我填的main,一般来说fork的分支名称都一样,但这只是一般情况,也有的老项目默认的分支不是main,在Sync Upstream
步骤中请一定确保你上游项目的分支路径。
提交保持文件 填写完成后点右上角commit changes
,然后确认。
测试运行 回到Actions
页面,点击你刚刚创建的workflow,点击Run workflow
运行成功 刷新页面可以看到效果
workflow 点击前往
Request-Hook 点击前往