问题出现:git推送本地内容到远程仓库时,报错src refspec master does not match any
。
1.我的流程:
mkdir project_k
命令,新建本地仓库。cd project_k
命令,切换到本地仓库目录。git init
命令,初始化,使得本地仓库可以被git
管理。- 自己手动在
project_k
文件夹下添加一个非空的文件夹。 - 打开
github.com
新建自己的远程仓库,命名为:project_k
。 git remote add origin https://github.com/kangkaii/project_k.git
命令,将本地仓库与远程仓库关联。- 此时,直接使用
git push -u origin master
命令,报错如上。
2.原因分析:
git push -u origin master
前,一定缺少了某个过程。
下图展示了git
的工作区,暂存区,远程仓库。- 由于粗心,忘了使用
git add
与 'git commit'命令,使文件只是存在于本地仓库而暂存区没有此文件。 - 使用
git add -A
命令,将所有内容添加到仓库(没有任何输出提示); - 使用
git commit -m"commit something"
,将文件提交到仓库(输出文件相关信息)。 - 再次使用
git push -u origin master
,输出如下: - 来到
github
,刷新远程仓库,发现里面已经有了刚刚push
的文件夹。
3.总结
出现此问题的原因在于缓存区没有内容,或者说push
之前缺少了 add ,commit
导致没有内容可以push
。
做事情要按部就班的来,不能异想天开,按照自己的想法去乱搞。
本文参考:工作区和暂存区