推送feature branch#1后GitHub未提示Compare & Pull Request,推送branch#2却包含其提交
问题分析与解决
一、feature branch#1推送后无Pull Request提示的原因
- 最可能的情况是该分支之前已经创建过Pull Request(哪怕已关闭/合并)。GitHub的自动PR提示仅针对首次推送的全新分支,若分支已有PR记录(无论最终状态),后续推送新提交时不会再弹出自动提示。你可以手动进入该分支的GitHub页面,点击「Compare & pull request」按钮发起PR。
- 排除仓库配置问题:由于feature branch#2能正常触发提示,说明仓库的自动PR提示功能未被禁用,无需调整仓库全局设置。
二、feature branch#2的PR包含branch#1提交的原因
你创建feature branch#2时,是基于feature branch#1而非main分支切出的。Git分支的提交历史是继承式的,因此branch#2的提交记录会包含branch#1超前main的那1个提交。当推送branch#2后,GitHub对比main与branch#2的差异时,会将main分支缺失的所有提交(包括branch#1的那个提交)都纳入PR范围。
若要让新分支的PR仅包含自身提交,需基于最新的main分支重新创建:
# 切换到main分支并拉取最新代码 git checkout main git pull # 基于最新main分支创建新分支 git checkout -b feature-branch#2-new
内容的提问来源于stack exchange,提问作者Leon Lee
相关产品推荐
相关产品推荐

