VS Code推送本地分支提示无远程分支,但Git Bash可正常推送
问题分析与解决方法
核心原因
从你提供的git branch -vv输出可以直接看出:本地分支DAIBIGW-5043未与远程分支建立追踪关联。对比develop、main分支后跟随的[origin/分支名]标识,你的目标分支完全没有这个关联标记。
VS Code的Git推送功能依赖这个追踪关联来自动匹配远程分支,所以即便远程分支确实存在,也会触发“当前分支没有关联的远程分支”的错误;而你在Git Bash中能正常推送,是因为手动指定了推送的远程仓库和分支(比如执行git push origin DAIBIGW-5043),绕开了追踪关联的要求。
解决步骤
方法1:推送并一次性建立追踪关联(推荐)
在VS Code的终端或Git Bash中执行以下命令,完成推送的同时建立永久追踪关联:
git push --set-upstream origin DAIBIGW-5043
执行后,再次运行git branch -vv,你会看到DAIBIGW-5043分支后出现[origin/DAIBIGW-5043]的关联标记。
方法2:仅建立追踪关联(若远程分支已存在)
如果确认远程分支origin/DAIBIGW-5043已经存在,也可以单独设置关联,无需重新推送:
git branch --set-upstream-to=origin/DAIBIGW-5043 DAIBIGW-5043
后续操作
完成上述命令后,回到VS Code点击Git面板的刷新按钮,之后再执行推送操作,VS Code就能自动识别对应的远程分支,不会再报错。无需额外配置VS Code本身,问题根源是Git分支的追踪关联未设置。
内容的提问来源于stack exchange,提问作者Michaël Ménaché
相关产品推荐
相关产品推荐

