185

我刚开始在 github 上使用 git。我按照他们的指示在最后一步遇到了错误。我正在检查当前不受源代码控制的现有目录(大约一周前的项目)。除此之外,我的用例应该很正常。

这是正在发生的事情:

$ git push origin master
error: src refspec master does not match any.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'git@github.com:{username}/{projectname}.git'

Github 的使用说明:

Global setup:

  Download and install Git
  git config --global user.name "Your Name"
  git config --global user.email {username}@gmail.com

Next steps:

  mkdir projectname
  cd projectname
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin git@github.com:{username}/{projectname}.git
  git push origin master
4

28 回答 28

191

我遇到了同样的问题,然后因为我实际上没有添加我的项目文件而打了自己一巴掌。

git add -A
git commit -am "message"
git push origin master
于 2009-11-14T02:17:21.673 回答
138

错误消息导致您的本地存储库中没有master分支的结论。要么推送你的主开发分支(git push origin my-local-master:master它将master在 github 上重命名)或先提交。您不能推送完全空的存储库。

于 2009-05-06T06:32:16.150 回答
30

我遇到过同样的问题。我删除了 .git 文件夹,然后按照以下命令

  1. $ git init
  2. $ git add .
  3. $ git remote add origin git@gitorious.org:project/project.git
  4. $ git commit -m "Initial version"
  5. $ git push origin master
于 2011-06-29T09:55:31.220 回答
9

我有同样的问题。它解决了我的问题。如果你初始化你的 git 。你必须在终端上做

1)git add .

2)git commit -m "first commit"

用于发送到 bitbucket

3)git push -u origin --all # pushes up the repo and its refs for the first time

于 2013-11-22T12:01:39.270 回答
6

我在创建我的第一个 Git 存储库时遇到了同样的问题。我在 Git 源远程创建中有一个错字 - 结果我没有大写我的存储库的名称。

 git remote add origin git@github.com:Odd-engine

首先,我使用删除了旧遥控器

git remote rm origin

然后我重新创建了来源,确保我的来源名称的输入方式与我的来源的拼写方式完全相同。

git remote add origin git@github.com:Odd-Engine

没有更多的错误!:)

于 2012-04-09T22:21:02.493 回答
4

我遇到了同样的错误,因为 Bombe 说我的配置中没有名为 master 的本地分支,尽管git branch确实列出了一个名为 master 的分支......

要修复它,只需将其添加到您的 .git/config

[branch "master"]
    remote = origin
    merge = refs/heads/master

有点老套,但可以完成工作

于 2009-08-13T12:59:45.343 回答
3

确保你在一个分支上,至少在 master 分支上

类型:

git branch

你应该看到:

ubuntu-user:~/git/turmeric-releng$ git 分支

* (no branch)
master

然后输入:

git checkout master

那么您的所有更改都将适合主分支(或您选择的分支)

于 2011-09-09T18:22:08.770 回答
2
error: failed to push some refs to 'git@github.com:{username}/{projectname}.git'

除非您概括错误消息,否则看起来您确实将git@github.com:{username}/{projectname}.git其作为远程 Git 存储库。您应该填写{username}您的 GitHub 用户名和{projectname}项目名称。

于 2009-09-15T22:01:01.260 回答
2

为了真正解决这个问题,我使用以下命令将我的所有文件暂存到提交。

$ git add .
$ git commit -m 'Your message here'
$ git push origin master

我遇到的问题是 git add 中的 -u 命令实际上并没有添加新文件,并且我的 git 安装不支持 git add -A 命令。因此,正如在这个线程中提到的,我试图暂存的提交是空的。

于 2011-01-29T21:45:16.713 回答
2

看起来这个问题已经有很多答案了,但我会权衡我的,因为我还没有看到任何解决我遇到的问题的方法。

我在一个全新的 github 存储库上也遇到了这个错误。事实证明,我从中推送的用户没有推送访问权限。出于某种原因,这会导致“错误:找不到存储库”错误,而不是某种访问错误。

无论如何,我希望这可以帮助遇到同样问题的可怜的灵魂。

于 2012-04-23T22:20:39.063 回答
1

我解决了我的问题....

不知道问题是什么,但使用 gitx 接口提交我的暂存文件,然后......

$ git push origin master

工作...

我有同样的问题...

在 bort 模板文件中创建了一个新文件夹...

$ git commit -m 'first commit'

$ git remote add origin git@github.com:eltonstewart/band-of-strangers.git

$ git push origin master

然后我得到同样的错误......

错误:src refspec master 不匹配任何内容。
致命:远程端意外挂断
错误:未能将一些参考资料推送到“git@github.com:eltonstewart/band-of-strangers.git”

于 2009-05-16T05:49:41.290 回答
1
cd  app 

git init 

git status 

touch  test 

git add . 

git commit  -a  -m"message to log " 

git commit  -a  -m "message to log" 

git remote add origin 

 git remote add origin git@git.google.net:cherry 

git push origin master:refs/heads/master

git clone git@git.google.net:cherry test1
于 2011-04-25T06:34:39.810 回答
1

一分钟前有同样的问题,然后修复它

在 github 中创建一个名为 wordpress 的存储库...

cd wordpress
git init
git add -A
git commit -am “WordPress 3.1.3″ or any message
git remote add origin git@github.com:{username}/wordpress.git
git push -u origin master

这应该可以解决 refspec 问题

于 2011-05-26T20:07:43.703 回答
1

我有同样的问题。我错误地在小写的机器中创建了目录。一旦改变了案例,问题就解决了(但浪费了我的 1.5 小时 :( )检查你的目录名称和远程 repo 名称是否相同。

于 2012-02-04T17:59:29.660 回答
1

这也可能发生,因为 github 最近将默认分支从“master”重命名为“main”(https://github.com/github/renaming),所以如果你刚刚在 github 上创建了一个新的存储库,请使用git push origin main而不是git push origin master

于 2020-12-18T01:05:33.713 回答
0

我错误地在 - 之后放了一个空格,所以我有 -m 而不是 -m 只是要寻找的东西。

于 2010-03-06T23:20:00.703 回答
0

我认为在旧版本的 git 中,您应该首先提交至少一个文件,然后您可以再次“推送 origin master”。

于 2010-03-07T10:33:47.363 回答
0

太好了..它的空目录问题只有别的。我通过在每个目录中创建一个二进制文件然后添加它们来解决我的问题。

于 2010-03-13T21:20:45.030 回答
0

初始添加和提交就像一个魅力。我想这只是理解 Git 在存储库中管理项目的方法的问题。

之后,我设法毫不费力地立即推送我的数据。

于 2011-03-28T16:28:36.303 回答
0

我刚刚遇到这个问题,这似乎是由于我没有在默认提交消息上方添加自定义提交消息引起的(我想,为什么要写“初始提交”,当它在 Git 生成的文本中清楚地说明了同样的事情时在它下面)。

当我删除 .git 目录、为 Git 重新初始化项目目录、重新添加 GitHub 远程、将所有文件添加到新阶段、在自动生成的消息上方使用个人消息提交并推送到时,问题解决了起源/主人。

于 2014-06-13T23:46:25.930 回答
0

当您在 Github 上创建存储库时,它会将 README.md 文件添加到存储库中,并且由于该文件可能不在您的本地目录中,或者它可能具有不同的内容,所以 git push 会失败。为了解决我所做的问题:

git pull origin master
git push origin master

这次它起作用了,因为我有 README.md 文件。

于 2014-09-06T22:30:16.177 回答
0

在第一次提交之前,尝试添加一些文件,如 readme.txt。如果不存在,这将“强制”远程 repo 创建分支 master。它对我有用。

于 2014-10-10T16:35:37.150 回答
0

这是一个非常古老的问题,但对于像我这样最终会来到这里的所有新人来说。此解决方案仅适用于

error: src refspec master does not match any.

创建新仓库的错误

您需要添加您的

git config user.email "your email"
git config user.name "name"

仅在添加电子邮件和名称后将文件添加到 git 并提交

git add .
git commit -m "message"

它会像魅力一样工作

于 2015-02-16T13:03:42.153 回答
0

我也有这个错误,我提交了一个不推送空项目的承诺,就像很多人一样,但不起作用

问题是 ssl,你把下一个

git config --system http.sslverify false

之后一切正常:)

git push 起源大师

于 2016-02-16T04:48:59.393 回答
0

我遇到了同样的问题/错误。我正在做git push -u origin master而不是我刚刚做了git push origin master并且它起作用了。

于 2016-09-12T10:54:02.733 回答
0

转到控制面板-> 管理您的凭据并删除 github 凭据(如果有)。

于 2019-09-15T17:38:31.450 回答
0

撞旧线。

如果您在 Github 上使用 aReadme或 a创建了存储库.gitignore,则可能必须使用远程 master 重新定位本地 master。因为,如果您使用的是项目脚手架工具,例如 create-app,它会为您创建这些文件,并且远程 master 需要在您推送之前与您的本地同步。

如果您在 Github 上创建一个空存储库,那么您可以简单地推送。

于 2020-07-07T20:29:56.413 回答
-1

我有同样的问题,一些用户已经回答了这个问题。在推送之前,您必须进行第一次提交。现在,对于新用户,我创建了一系列简单的步骤。在此之前,您需要安装 git 并在命令行中运行:

  • git config user.email “你的邮箱”
  • git config 用户名“名称”

创建远程仓库的步骤(我使用dropbox作为远程仓库):

1. create a directory in Dropbox (or on your remote server)
2. go to the Dropbox dir (remote server dir)
3. type git command: git init --bare
4. on your local drive create your local directory
5. go to local directory
6. type git command: git init
7. add initial files, by typing git command:: git add <filename> 
8. type git command: git commit -a -m "initial version" (if you don't commit you can't do the initial push
9. type git command: git remote add name <path to Dropbox/remote server> 
10. git push name brach (for first commit the branch should be master)
于 2015-02-24T08:53:36.437 回答