VSCode无法执行Git推拉操作且默认推送分支错误问题求助
问题解决步骤
根因说明
你遇到的报错本质是本地自行初始化的仓库和GitHub远端新建的仓库属于完全独立的两条提交历史,没有共同的祖先提交,Git默认禁止合并这种无关联的历史,同时因为远端存在本地没有的初始提交(通常是你新建GitHub仓库时勾选生成README、LICENSE、.gitignore文件产生的),才会先后出现推送被拒、拉取时报合并不相关历史的错误。你之前设置的git config --global init.defaultBranch main配置没有问题,无需调整。
操作步骤
- 第一步:拉取远端内容并允许合并不相关历史
执行命令:
git pull collatz_conjecture main --allow-unrelated-histories
执行后如果提示文件冲突,打开所有标注冲突的文件,调整为你需要的最终内容后执行
git add <冲突文件名>,再执行git commit完成合并即可无冲突的情况下Git会自动生成合并提交,无需额外操作
第二步:推送合并后的内容到远端
执行命令:
git push -u collatz_conjecture main
加-u参数会将远端collatz_conjecture的main分支设置为本地当前分支的上游分支,后续你直接在VSCode点击推送按钮或者执行git push即可,不会再出现「No configured push destination.」的提示。
可选方案(确认远端内容无保留价值时使用)
如果远端仓库只有自动生成的初始化文件,没有你需要的内容,可以直接强制推送覆盖远端历史:
git push -f collatz_conjecture main
操作完成后同样可以加-u参数设置上游分支,方便后续操作。
内容的提问来源于stack exchange,提问作者shook_one
相关产品推荐
相关产品推荐

