我使用以下内容克隆存储库:

git clone ssh://xxxxx/xx.git 

但在我更改一些文件并添加和提交它们之后,我想将它们推送到服务器:

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'

当前回答

git push-u原始主机

error: src refspec master does not match any.
error: failed to push some refs to 'http://REPO.git'

这是由于存储库仍然是空的。存储库中没有提交,因此没有主分支可以推送到服务器。

这对我有用

决议

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

其他回答

我遇到了同样的困难。。解决方案是将代码推送给回购,就好像它是一个现有项目,而不是一个正在初始化的全新项目。

git remote add origin https://github.com/Name/reponame.git
git branch -M main
git push -u origin main

几天前我也遇到过同样的问题。

如果您现在(2020年)创建了一个新的存储库,那么默认分支是GitHub上的main。

您现在可以在存储库分支中查看GitHub。

您还可以通过运行以下命令检查终端中的分支:

git branch

所以这就是你需要跑步的原因

git push origin main

而不是

git push origin master

首先,确保您使用的是master分支。在我的案例中,分支是主分支而不是主分支。所以我做的是

git push origin main

你可以在这张照片中看到结果

当我收到src-refspec错误时,上述解决方案都不适用。

我的工作流程:

推送到远程分支(相同的本地分支名称)删除了远程分支改变了一些东西再次推送到相同的远程分支名称(相同的本地分支名称)获取src-refspec错误。

我通过简单地创建一个新分支并再次推送来修复错误。(奇怪的是,我不能简单地重命名分支,这给我带来了致命的后果:分支重命名失败。)

如果您有Visual Studio代码:

如果不需要跟踪更改,请删除.git文件夹(如果需要,请删除git stash)初始化gitcommit-m“第一次提交”git远程添加原点https://github.com/YOURusername/YOURrepo.git通过Visual Studio代码UI IDE,从左侧面板或(Ctrl+Shift+G)转到源代码控制准备所有更改或部分更改提交您的更改通过左下角按钮(如数字或云图标)同步您的更改。然后Visual Studio代码要求您输入用户名和密码。

如果您拥有存储库的权限,您可以看到:

> git push -u origin master
Fatal: AggregateException encountered.
To https://github.com/your_account/yourrepo.git
 * [new branch]      master -> master
> git status -z -u
> git symbolic-ref --short HEAD
> git rev-parse master
> git rev-parse --symbolic-full-name master@{u}
> git rev-list --left-right master...refs/remotes/origin/master
> git for-each-ref --format %(refname) %(objectname) --sort -committerdate
> git remote --verbose
> git show :ionic.config.json
> git check-ignore -z --stdin