在Git中推送提交时出现“src refspec master does not match any”消息

4038

我使用以下命令克隆我的存储库:

git clone ssh://xxxxx/xx.git 

但是在我修改了一些文件并addcommit之后,我想将它们推送到服务器:

git add xxx.php
git commit -m "TEST"
git push origin master

但我收到的错误是:

error: src refspec master does not match any.  
error: failed to push some refs to 'ssh://xxxxx.com/project.git'

71
@Marco 这不是重复的问题。那个问题非常具体,是关于将本地分支推送到远程分支的问题。而这个问题是关于初始化存储库并将其推送的问题。它们产生了相同的错误,但是产生该错误的原因和解决方法完全不同。此外,sinoohe,你应该接受一个答案。可能是第一个答案,因为它回答了问题并帮助了超过350人。 - tandrewnichols
4
希望这篇文章能对某个人有所帮助 - http://samranga.blogspot.com/2015/07/create-git-bitbucket-repository-from.html?view=sidebar。即使尝试从本地已存在的项目创建git BitBucket存储库时,问题也可能会出现错误。 - Samitha Chathuranga
47
Git又把一个简单的任务搞得很复杂。Git的开发者应该将Stack Overflow作为他们的SDLC反馈环节。超过850,000人的使用应该表明Git的工作流程有严重问题。他们需要聘请一个用户体验专家,因为他们显然无法自己解决这个问题。 - jww
12
如果您没有使用点号或某些文件添加git add,也会出现这个错误。 - Blasanka
34
最近 Github/Git 不再默认使用 "master" 分支,而是改为使用 "main" 分支,因此这可能是导致此错误的原因。 - Harini Sj
显示剩余17条评论
140个回答

11

如果你是第一次使用Git,需要进行配置:

git config --global user.email "you@example.com"

git config --global user.name "Your Name"

10

考虑:

git push -u origin master

输出:

错误:src refspec master与任何内容都不匹配。
错误:无法推送一些引用到'http://REPO.git'

这是由于存储库仍然为空所导致的。存储库中没有任何提交,因此没有任何master分支可以推送到服务器。

对我来说有效

解决方案

  1. git init
  2. git commit -m "first commit"
  3. git add app
  4. git commit -m "first commit"
  5. git push -u origin master

10

请确保你正在推送正确的分支名称。我也遇到了相同的错误,在查看 git show-ref 后,我才发现我输错了分支名称,因此没有引用。


10
也许你当前的分支没有上游分支,如果你是第一次推送代码,可以尝试以下命令。
git init
git add .
git status
git commit -m "initial commit"
git remote add origin "github.com/your_repo.git"
git push --set-upstream origin master

9

我commit后push之前忘记执行“git pull origin master”命令,导致同样的问题出现:“在Git中推送提交时src refspec master does not match any”。

因此,你应该执行以下操作:

1. git add .
2. git pull origin master
3. git commit -am "Init commit"
4. git push origin master

9
为避免在2021年及以后出现此错误,请在使用git init之前使用以下命令:

git config --global init.defaultBranch main

这将告诉您的Git始终使用main作为默认分支名称,而不是master

9

这个错误是因为您试图将一个空的代码库推送到Git服务器上。可以通过初始化一个README.md文件来解决:

cat > README.md

接着输入一些内容,然后按下Enter,再按下Ctrl + D保存。

然后进行通常的提交步骤:

git add .
git commit -m "Initial commit"
git push origin master

8

只有提交才能解决此错误:

git commit -m "first commit"

8

尝试这个:

git add .

git commit -m "your commit message"

git remote add origin *remote repository URL*

git push origin *your-branch-name*

8

我也遇到了同样的问题。在我的情况下,我不小心在添加之前提交了代码。按照顺序执行以下步骤后,问题得到了解决。

另外,请确保提供正确的分支名称。

git init
git add .
git commit -m <Your commit message>
git remote add origin "your repository link here"
git push -u origin master

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接