基于Pull Request与Rebase的Git增量开发分支管理问询
解决方案:基于未合并分支开发后续功能
没问题,这种场景在单人分支开发模式下太常见了,结合你们团队用Rebase、PR最长24小时合并的规则,给你两种靠谱的操作方式:
方法一:直接基于feature-A-1创建新分支(最省心)
这是最直接的做法,完全不影响你推进开发,等feature-A-1合并后再同步dev即可:
- 先确保本地的feature-A-1是最新状态:
git checkout feature-A-1 git pull origin feature-A-1 - 创建feature-A的第二部分分支:
git checkout -b feature-A-2 - 正常开发、提交代码,比如:
git add . git commit -m "feat: 完成feature-A第二部分XX模块开发" git push origin feature-A-2 - 后续收尾:等feature-A-1合并到dev后,把feature-A-2 Rebase到最新的dev上,保证分支干净:
git checkout feature-A-2 git fetch origin dev git rebase origin/dev # 若有冲突,解决后执行: git rebase --continue # 最后推送到远程(如果之前已经推送过,需要强制推送,单人分支下没问题) git push origin feature-A-2 --force
方法二:先同步dev到feature-A-1,再开分支(适合提前规避冲突)
如果担心dev上有重要更新,或者想提前处理可能的冲突,可以先把feature-A-1 Rebase到最新dev上,再基于它开新分支:
- 拉取dev的最新代码:
git fetch origin dev - 切换到feature-A-1并执行Rebase:
git checkout feature-A-1 git rebase origin/dev # 解决冲突后继续Rebase: git rebase --continue # 推送更新后的feature-A-1到远程(因为Rebase修改了提交历史,需要强制推送) git push origin feature-A-1 --force - 然后创建feature-A-2分支开始开发:
git checkout -b feature-A-2
额外注意事项
- 开发过程中如果feature-A-1因为PR review有修改,记得把feature-A-2 Rebase到最新的feature-A-1上,保持代码同步:
git checkout feature-A-2 git rebase feature-A-1 - 提交feature-A-2的PR时,建议等feature-A-1合并完成后再提,避免出现PR依赖问题;如果团队允许,也可以标注该PR依赖feature-A-1的合并。
内容的提问来源于stack exchange,提问作者user1657853
相关产品推荐
相关产品推荐

