GIT问题,error:src refspec master does not match any
问题原因:
将本地GIT版本库PUSH到一个GITHUB上一个空的版本库时可能会出现如下错误
error:src refspec master does not match any
原因: 本地版本库为空, 空目录不能提交 (只进行了init, 没有add和commit)
解决办法:
执行git add .
在执行commit
----------------------------------------------
在执行git push -u origin master后出现了下面的问题:
GIT问题,error: failed to push some refs to
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:YuanBoot/WeDateServerBeta.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
在网上查找了一些资料,知道是因为git中的内容与本地中的内容部分一致。
参考的网址
http://www.linuxidc.com/Linux/2012-04/58985.htm
解决方法
方法1:强推,即利用强覆盖方式用你本地的代码替代git仓库内的内容(我用的)
git push -f
方法2:先把git的东西fetch到你本地然后merge后再push
$ git fetch
$ git merge
这2句命令等价于
$ git pull
可是,这时候又出现了如下的问题:
上面出现的 [branch "master"]是需要明确(.git/config)如下的内容
[branch "master"]
remote = origin
merge = refs/heads/master
这等于告诉git2件事:
1,当你处于master branch, 默认的remote就是origin。
2,当你在master branch上使用git pull时,没有指定remote和branch,那么git就会采用默认的remote(也就是origin)来merge在master branch上所有的改变
如果不想或者不会编辑config文件的话,可以在bush上输入如下命令行:
$ git config branch.master.remote origin
$ git config branch.master.merge refs/heads/master
之后再重新git pull下。最后git push你的代码吧。
--------------------------------------------