为方便描述,称上游 GitHub 仓库为 upstream,自己 fork 的 GitHub 仓库为 origin。如果没有理解错的话,你应该是遇到下面这个场景并想做到 Step 4:
= Step 1: Fork
* aaaaaa (HEAD -> main, origin/main, upstream/main)
...
= Step 2: Make local changes and push them to origin
* bbbbbb (HEAD -> main, origin/main)
* aaaaaa (upstream/main)
...
= Step 3: Check (fetch) upstream's update
* bbbbbb (HEAD -> main, origin/main)
| * cccccc (upstream/main)
|/
* aaaaaa
...
= Step 4: Rebase (but how?)
* bbbbbb (HEAD -> main, origin/main)
* cccccc (upstream/main)
* aaaaaa
...
如果是这样的话,我通常的做法是在本地进行这样的操作:
git pull -r upstream main
# Resolve conflict
git rebase --continue
至于 GitHub 有没有一键(或者几键)的做法,我没有找到。