name: Sync Fork with Upstream on: # 宿¶è§¦åï¼æ¯å¤© UTC 0 ç¹æ§è¡ schedule: - cron: '0 0 */30 * *' # æå¨è§¦åï¼å¨ Actions 页é¢ç¹å»æé®è¿è¡ workflow_dispatch: jobs: sync: runs-on: ubuntu-latest steps: # æ¥éª¤1ï¼æ£åºå½åä»åºä»£ç - name: Checkout uses: actions/checkout@v4 # æ¥éª¤2ï¼é ç½® Git ç¨æ·ä¿¡æ¯ï¼ç¨äºæäº¤è®°å½ï¼ - name: Setup Git run: | git config --global user.name "GitHub Actions" git config --global user.email "[email protected]" # æ¥éª¤3ï¼æ·»å 䏿¸¸ä»åºå°åå¹¶æåæ´æ° - name: Fetch and Merge Upstream run: | # æ·»å 䏿¸¸è¿ç¨ä»åºï¼å¦æå·²åå¨ä¼æ¥éï¼ä½å¿½ç¥å³å¯ï¼ git remote add upstream https://github.com/Snailclimb/JavaGuide.git || true # æå䏿¸¸ææ°ä»£ç git fetch upstream # 忢å°ä½ çé»è®¤åæ¯ï¼éå¸¸æ¯ main æ masterï¼ git checkout main # å并䏿¸¸åæ¯ï¼ä½¿ç¨ merge çç¥ï¼ä¿çæäº¤åå²ï¼ git merge upstream/main # æ¨éå°ä½ ç Fork ä»åº git push origin main