我为一个C#项目创建了一个本地存储库,在过去几天里我对它进行了大量的提交。
今天晚上,我打开了Git Bash,这样我就可以第一次将回购推送到Github。为此,我已经在Github中创建了一个空的repo。
我输入了:
git push origin master
然后系统提示我输入我的Github用户名和密码。之后,我收到了这样的消息:
warning: ignoring broken ref refs/heads/master.
error: src refspec master does not match any.
error: failed to push some refs to 'https://github.com/myusername/myrepo.git'
然后我运行git status
,在Changes to be committed:
下,它将所有被跟踪的文件显示为新文件。
我运行了git log
,得到了这个错误:
fatal: bad default revision 'HEAD'
这里发生了什么,我该怎么解决?
更新:我尝试提交并收到以下消息:
error: unable to resolve reference HEAD: No such file or directory
fatal: cannot lock HEAD ref
您可能没有在本地回购中进行任何提交
这就解释了为什么HEAD提到"糟糕的修订"。
Add,gitcommit,然后push。
确保使用git 2.6+(即使在Windows上):现在错误消息应该更明确了
参见"fatal: bad default revision 'HEAD'
"
让我们检测一下这种情况,并写一条更友好的消息:
$ git log
fatal: your current branch 'master' does not have any commits yet
正如OP sigil在下面评论的那样,更容易
"删除了现有的repo,运行gitinit,并成功提交"
那就是先删除.git文件夹
但为了进行推送,需要先有git remote add origin https://url/to/remote/repo
,然后才有git push -u origin master
。或者再次克隆远程repo,复制新的本地repo中的文件,添加、提交和推送
这更容易,因为远程"origin
"已经设置,并且master
已经链接到origin/master
,所以一个简单的git push
就足够了
(请参阅"为什么我需要明确地推送一个新分支?"了解更多信息)