关于 GitHub 中的 Fork 仓库的简单问题
-
mian分支 + feature分支
- 每次改动不要直接在main上修改, 而是基于main拉出一个对应的feature分支
- main分支只用来同步上游的代码
- 如果在过程中 - 上游有新的改动
- 先把上游代码同步到本地的main
- 然后 在feature分支 rebase 到main分支
- 功能开发完成后 就把feature分支 PR到上游
- 在把合入上游的代码同步到本地的main
- feature分支生命周期结束
-
为方便描述,称上游 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 有没有一键(或者几键)的做法,我没有找到。