Git多issue开发:前序PR未合并时新分支应从哪里创建
结论
直接从最新同步的原始development分支切出Issue #2对应的开发分支,别基于还没合并的Issue #1分支切。
为什么不能从没合并的Issue #1分支切
团队要求每个issue对应独立分支,本质就是要让各分支的改动完全和对应issue绑定,PR之间互不牵扯,方便审代码、回滚、挑版本上线。
- 要是从还没合并的#1分支切#2的分支,#2分支会直接带上#1的所有代码改动。等你提#2的PR时,评审看到的改动会混着#1的内容,根本分不清楚哪些是#2要做的需求,评审效率极低。
- 万一#1的PR审出问题要大改、甚至直接废弃不做了,你#2的分支会平白沾一堆没用的代码,后续处理冲突能把人绕晕。
- 要是后续临时调整优先级,要先上#2、暂缓#1上线,你根本没法单独把#2的代码合进主干,因为分支里混着#1的未合入内容,总不能把没测完的#1代码也带上生产。
具体操作命令
先切回本地development分支,拉取远端最新代码,保证本地分支和团队当前的主干代码一致:
git checkout development git pull origin development
直接从最新的development分支切#2的对应分支就行:
git checkout -b LPD-xxx_change_something_2
特殊情况处理
只有一种情况可以例外:你确认Issue #2的开发完全离不开#1写的代码,而且和团队、评审人都提前打过招呼,确定#1的PR肯定会合入、不会做颠覆性修改,才可以暂时基于#1的分支切#2的分支。等后续#1的PR正式合并进development之后,记得给#2的分支做一次变基,把基底切回正式的development分支,避免后续合并出问题。
内容的提问来源于stack exchange,提问作者Fatih khan
相关产品推荐
相关产品推荐

