You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

Git推送变更失败求助:VS Code无法推送至GitHub及相关错误排查

帮你排查Git推送和SSH配置的问题

嘿,刚接触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

火山引擎 最新活动