GitHub分支对比基准异常:从upstream:develop创建的origin:develop-upstream默认对比upstream:main而非upstream:develop
GitHub分支对比基准异常:从upstream:develop创建的origin:develop-upstream默认对比upstream:main而非upstream:develop
嘿,这个问题我之前也踩过坑!其实这不是GitHub的bug,是它的默认逻辑在搞鬼~
当你在GitHub网页上从upstream:develop创建新分支origin:develop-upstream时,GitHub并不会自动把这个新分支的默认对比基准绑定到你创建它的源分支(也就是upstream:develop),而是会默认用上流仓库的默认分支(这里就是upstream:main)来做对比,这就导致你看到的提交差异提示是和main分支的,而不是你预期的develop分支。
别着急,有两种简单的解决方法:
方法一:网页端直接修改(最快捷)
- 打开你的fork仓库页面,找到
develop-upstream分支(可以通过顶部的「Branches」入口,或者直接在分支选择器里切换到这个分支) - 进入分支页面后,找到「Compare」对比区域,点击基准分支的下拉框
- 把base branch从
upstream:main改成upstream:develop,保存后刷新页面,就能看到正确的提示了——显示和upstream:develop是0提交差异
方法二:命令行同步本地+远程设置
如果你需要本地分支也和upstream:develop关联,或者习惯用命令行操作:
- 先确认本地已经关联了upstream仓库(执行
git remote -v,能看到upstream的地址就没问题) - 切换到本地的
develop-upstream分支:git checkout develop-upstream - 把本地分支的上游分支设置为
upstream/develop:git branch --set-upstream-to=upstream/develop develop-upstream - 拉取同步最新代码:
git pull - 推送到远程origin:
git push origin develop-upstream
这样操作后,GitHub上的分支对比基准也会自动更新为upstream:develop,以后再看分支状态就正常啦~
顺带提一句:之后再从非默认分支创建新分支时,记得手动调整对比基准,GitHub的默认行为就是用仓库默认分支来做对比的哦。
备注:内容来源于stack exchange,提问作者SuperPomax
相关产品推荐
相关产品推荐

