为方便描述,称上游 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 有没有一键(或者几键)的做法,我没有找到。
参考阅读:https://gitolite.com/git-pull--rebase