第一次将本地项目push到github
问题:github有一个空项目,将本地项目上传到github空项目时,报错如下
$ git push --set-upstream git@github.com:dslu7733/promise.git master
error: src refspec master does not match any.
error: failed to push some refs to 'git@github.com:dslu7733/promise.git'
解决办法
1. 账户问题
我的本地以前配置过2个github账户的SSH,可以在用户(eg. user/username)文件夹下查看.ssh文件夹。这是windows系统生成ssh密匙的默认路径,里面有3个比较重要的文件:config
dslu7733_rsa
dslu7733_rsa.pub
(这里的dslu7733是我github的账号名,其中dslu7733_rsa和dslu7733_rsa.pub是与ssh密匙相关,主要看config
的内容)
config决定了本地主机如何解析域名
Host github-dslu
HostName github.com
User git
IdentityFile ~/.ssh/dslu7733_rsa
可以看到,本地域名github-dslu(Host)解析为github.com, 同时本地用户为git, IdentityFile指明ssh密匙所在路径。
2. pull
当然本地需要先git add.
与 git commit
$ git pull -f git@github-dslu:dslu7733/promise.git master --allow-unrelated-histories
这里我就把git@github.com:dslu7733/promise.git改为了git@github-dslu:dslu7733/promise.git, 当然本地只配置了一个SSH账户的不需要改
由于第一次pull,2个项目不相干(unrelated-histories),所有需要命令--allow-unrelated-histories
3. push
git push --set-upstream git@github-dslu:dslu7733/promise.git master
最后因为第一次push, 需要命令--set-upstream