错误提示是这样的
[root@localhost gitlearn]# git push origin master
error: src refspec master does not match any.
error: 无法推送一些引用到 'git@github.com:***/gitlearn'
背景:
我在 github 上新创建了一个空的 repo ,通过 git clone git@github.com:xxx/xxx
克隆到本地。
[root@localhost gitclone]# git clone git@github.com:***/gitlearn
正克隆到 'gitlearn'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
接收对象中: 100% (3/3), done.
实践想法:克隆到本地的 repo 是否还需要再关联一下呢?
实践行动:
我先通过 git remote -v
查看了远程库信息,正常显示。
[root@localhost gitlearn]# git remote -v
origin git@github.com:***/gitlearn (fetch)
origin git@github.com:***/gitlearn (push)
我在本地随意编写了一个 readme.txt 文件
[root@localhost gitlearn]# vim readme.txt
[root@localhost gitlearn]# git add readme.txt
[root@localhost gitlearn]# git commit -m "add readme.txt"
[main 6133645] add readme.txt
1 file changed, 5 insertions(+)
create mode 100644 readme.txt
[root@localhost gitlearn]# git push origin master
error: src refspec master does not match any.
error: 无法推送一些引用到 'git@github.com:***/gitlearn'
问题出现了,提示:“error: 无法推送一些引用到 ”
解决问题:
原因是,我在 github 新创建的 repo 默认主分支名是 main
,而本地的主分支名称默认是 master
,我在使用 push 命令的时候也用的 master
,就导致 error 的产生。
把命令里的分支名修改成 main
就可以了:👇
[root@localhost gitlearn]# git push origin main
······
····
···
remote: git@github.com:Jelar/gitskills.git
To git@github.com:jelar/gitskills
6133645..a0272d8 main -> main
反思: 其实从提示信息来看,是能直接知道原因就是在这里的
“error: src refspec master does not match any.” 的意思就是 没有可以与 master 匹配的文件
(我英语不好,真是硬伤,此刻立下flag发奋图强学好英语)
遇到这个问题时,我第一时间是百度、google,也有很多人遇到了同样的提示,我一一尝试他们的解决方法,情况不符合。
so,最后我想说的是,以上是我遇到的情况,和我的解决过程,供参考,希望能有帮助。
over !
(若描述有误指出,谢谢。)