Git推送变更失败求助:VS Code无法推送至GitHub及相关错误排查
嘿,刚接触Git和GitHub遇到这些问题太正常了,我来帮你一步步拆解解决这两个麻烦:
一、搞定error: src refspec master does not match any错误
这个报错通常逃不出几个常见原因,咱们逐个排查:
本地还没提交任何内容:Git得先有本地提交记录,才能往远程仓库推东西。先执行
git status看看,如果显示一堆未跟踪文件,先把它们纳入版本控制:git add . # 把当前目录所有文件加入暂存区 git commit -m "Initial commit" # 完成第一次提交提交完再试
git push -u origin master。本地分支和远程默认分支不匹配:现在GitHub新建仓库的默认分支已经是
main而不是master了。先看看本地分支叫啥:git branch如果本地分支是
main,那推送命令得改成git push -u origin main;要是远程仓库确实用的master分支,你可以把本地分支改名:git branch -m master改完再执行推送。
远程仓库关联错了:确认下本地关联的远程地址是不是你的GitHub仓库:
git remote -v如果地址不对,用下面的命令修正:
git remote set-url origin <你的GitHub仓库完整URL>
二、解决~/.ssh/config不被识别的问题
这个是因为你在Windows的PowerShell/CMD里用了Linux风格的路径,Windows不认~这个简写,得用完整的Windows路径操作:
找到你的.ssh目录:打开PowerShell,输入下面的命令(把
<你的用户名>换成你Windows系统的实际用户名,比如Xiaoming):cd C:\Users\<你的用户名>\.ssh如果提示目录不存在,说明生成SSH密钥时没自动创建,先执行
mkdir C:\Users\<你的用户名>\.ssh建一个。创建/编辑config文件:如果没有config文件,新建一个:
New-Item config -ItemType File然后用VS Code打开编辑:
code config在文件里加以下内容(如果你的SSH密钥文件名不是
id_rsa,记得改成你实际的密钥名):Host github.com HostName github.com User git IdentityFile C:\Users\<你的用户名>\.ssh\id_rsa验证SSH连接:配置完后,测试下能不能连上GitHub:
ssh -T git@github.com成功的话会显示类似
Hi <你的用户名>! You've successfully authenticated, but GitHub does not provide shell access.的提示。
最后再试一次推送
等上面的问题都解决后,回到项目目录重新执行推送命令,应该就能顺利把代码推上去啦!
内容的提问来源于stack exchange,提问作者mgm89




