Bitbucket解决PR合并冲突后PR变更列表异常的咨询
问题解答
这是预期行为,不是Bug,你遗漏了更合适的冲突解决步骤。
原因说明
当你把main分支合并到feature分支时,Git会生成一个合并提交,这个提交会把main分支自feature创建以来的所有变更都带到feature分支里。Bitbucket的PR是基于分支的差异来展示变更的,此时feature分支包含了main的所有新增内容,自然会在PR里显示这些无关变更。
正确的冲突解决步骤(避免PR臃肿)
- 先拉取最新的main分支到本地:
git checkout main && git pull - 切换回feature分支,使用**变基(rebase)**代替合并:
git checkout feature && git rebase main - 此时Git会逐个应用feature分支的提交,遇到冲突时会暂停,用编辑器解决冲突后,执行
git add .,然后git rebase --continue完成变基 - 由于变基会改写feature分支的提交历史,需要强制推送到远程:
git push -f origin feature
这样处理后,feature分支的提交会基于最新的main分支重新排列,PR里只会显示你在feature分支上的实际改动,不会混入main分支的其他变更。
注意:变基会修改提交历史,如果feature分支是多人协作的分支,要先和团队成员沟通后再操作。
内容的提问来源于stack exchange,提问作者Alexander
相关产品推荐
相关产品推荐

