VS Code同步变更异常:始终推送至master分支
VS Code Sync Changes 始终推送至 Master 分支的问题解决
问题现象
提交变更后点击VS Code的「Sync changes」按钮,无论当前处于哪个分支,系统都会尝试推送到master分支,而非当前所在分支,怀疑与项目中的git子模块有关。
排查与解决步骤
- 检查子模块分支关联
进入子模块目录,查看当前分支的上游关联状态:
git branch -vv
如果输出显示当前分支关联的是master而非对应分支,重新设置上游分支:
git branch --set-upstream-to=origin/你的当前分支名
调整VS Code Git配置
打开VS Code设置,搜索git.autofetch确保该选项开启;同时检查git.defaultBranch配置,避免默认强制指向master分支。手动推送验证
先执行手动推送命令,确认是否能正常推送到当前分支:
git push origin 你的当前分支名
如果手动推送正常,说明VS Code自动同步可能读取了子模块旧配置,重启VS Code即可。
- 更新子模块配置
在项目根目录执行命令更新子模块到最新状态:
git submodule update --remote
同时检查项目根目录的.gitmodules文件,确保子模块的分支配置正确,示例如下:
[submodule "子模块路径"] path = 子模块路径 url = 子模块仓库地址 branch = 对应分支名
内容的提问来源于stack exchange,提问作者IHaveManyQuestions
相关产品推荐
相关产品推荐

